代码说明:
//大数相加
#include <stdio.h>
#include <string.h>
#define MAXN 100
int an1[MAXN+10];
int an2[MAXN+10];
char str1[MAXN+10];
char str2[MAXN+10];
int main()
{
memset(an1,0,sizeof(an1));
int i,j;
scanf("%s",str1);
j=0;
int len1=strlen(str1);
for(i=len1-1;i>=0;i--)
an1[j++]=str1[i]-'0';
while(~scanf("%s",str2)&&str2[0]!='0')
{
memset(an2,0,sizeof(an2));
j=0;
int len2=strlen(str2);
for(i=len2-1;i>=0;i--)
an2[j++]=str2[i]-'0';
//下面是主要运算过程
for(i=0;i<MAXN;i++){
an1[i]+=an2[i];
if(an1[i]>=10){
an1[i]-=10;
an1[i+1]++;
}
}
//输出
int pan_0 = 0;
for(i=MAXN;i>=0;i--){
if(pan_0)
printf("%d",an1[i]);
else if(an1[i]){
printf("%d",an1[i]);
pan_0 = 1;
}
}