-
实现一个加法器,使其能够输出a+b的值。
题目描述:
-
输入:
-
输入包括两个数a和b,其中a和b的位数不超过1000位。
-
输出:
-
可能有多组测试数据,对于每组数据,
输出a+b的值。
-
样例输入:
-
2 6 10000000000000000000 10000000000000000000000000000000
-
样例输出:
-
8 10000000000010000000000000000000
#include<stdio.h>
#include<string.h>
# define MAXN 1000+10
char a[MAXN];
char b[MAXN];
int main(){
int i,j,m,n;
int s,cin;
while(scanf("%s%s",a,b)!=EOF){
int c[MAXN]={0};
int d[MAXN]={0};
int sum[MAXN]={0};
m=strlen(a);
n=strlen(b);
cin=0;
for(i=0;i<m;i++){
c[m-1-i]=a[i]-'0';
}
for(i=0;i<n;i++){
d[n-1-i]=b[i]-'0';
}
for(i=0;i<MAXN;i++){
s=c[i]+d[i]+cin;
sum[i]=s%10;
cin=s/10;
}
for(i=MAXN-1;i>=0;i--){
if(i!=0){
if(sum[i]!=0){
for(j=i;j>=0;j--){
printf("%d",sum[j]);
}
i=-1;
}
}
else{
printf("%d",sum[0]);
}
}
printf("\n");
}
return 0;
}