频道栏目
首页 > 资讯 > 其他 > 正文

大数:加法运算

17-12-28        来源:[db:作者]  
收藏   我要投稿
问题 A: 大数-加法运算
时间限制: 1 Sec 内存限制: 128 MB
提交: 40 解决: 11
[提交][状态][讨论版]
题目描述
请计算两个整数相加(数的范围:0 <= num < 10 ^ 100)
输入
两个整数
输出
一个整数
样例输入
1000000
1000000
样例输出
2000000

提示

#include
#include
#define M 100000
int Inter_Sum[M];
void fun(char str1[],char str2[]){
	int t,m=0,i=strlen(str1);
	int p=strlen(str2)-1;
	int k=0;
	while(i--){
			if(p>=0)
		 t=(str1[i]-48)+(str2[p]-48)+m;
		 else t=(str1[i]-48)+m;
		if(t<10){
			Inter_Sum[k]=t;
			m=0;
		}else{
			Inter_Sum[k]=t%10;
			m=t/10;
		}	
		k++;
		p--;
		if(i==0&&m!=0)Inter_Sum[k++]=m; 
	}
	for(int j=k-1;j>=0;j--){
		printf("%d",Inter_Sum[j]);
	}
}
int main(){
	char str1[M];
	char str2[M];
	memset(str2,'0',sizeof(str2));
	int i=0,j=0;
	scanf("%s %s",str1,str2);
	str1[strlen(str1)]='\0';
	str2[strlen(str2)]='\0';
	if(strlen(str1)>=strlen(str2))
	fun(str1,str2);
	else fun(str2,str1);
	return 0;
}


 

相关TAG标签
上一篇:循环及其他语句基础知识
下一篇:c#中默认作除法不保留小数位问题解答
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站