题目为计算超出 longlong范围的数的相加求和
思路,将大数以字符串的形式输入,然后转换到数组中
#include <stdio.h>
#include <string.h>
int main()
{
char a[1000],b[1000];
int l[1000];
int l1[1000];
int c,d,i,j,e,k;
int p,q;
while(scanf("%s %s",a,b)!=EOF){
c=strlen(a);
d=strlen(b);
// 找出字符串的最大长度,确定后面数组输出的最大索引值
if(d>=c) e=d;
if(c>d) e=c;
// 将数组数据归0
for(q=0;q<e;q++){
l[q]=0;
l1[q]=0;
}
// 将字符串存入数组中
for(i=0;i<c;i++){
l[i]=a[c-1-i]-'0';
}
for(j=0;j<d;j++){
l1[j]=b[d-1-j]-'0';
}
//数组数据相加
for(k=0;k<e;k++){
l[k]=l[k]+l1[k];
if(l[k]>9 && k<e-1){ //进位 若为最高位不进
l[k]=l[k]-10;
l[k+1]++;
}
}
for(p=e-1;p>=0;p--){
printf("%d",l[p]);
}
printf("\n");
}
return 0;
}