#include <stdio.h>
#include <string.h>
char *add_high_jd(char *a,char *b)
{
char *s;
int lenmax,lenmin,i,key=0,m;
if(strlen(b)>strlen(a)) {s=a;a=b;b=s;}
lenmax=strlen(a);
lenmin=strlen(b);
for(i=1;i<=lenmin;i++)
{
m=a[lenmax-i]+b[lenmin-i]-96+key;
if(m>=10) {a[lenmax-i]=m%10+48;key=1;}
else {a[lenmax-i]=m+48;key=0;}
}
for(i=1;i<=lenmax-lenmin;i++)
{
m=a[lenmax-lenmin-i]-48+key;
if(m>=10) {a[lenmax-lenmin-i]=m%10+48;key=1;}
else {a[lenmax-lenmin-i]=m+48;key=0;}
}
if(key)
{
for(i=lenmax;i>=1;i--)
a[i]=a[i-1];
a[0]='1';
a[lenmax+1]='\0';
}
return a;
}
int main()
{
int n,i;
char a[200]={'0'},b[200]={'1'},*p,c[200]={0};
p=a;
a[1]=0;
strcpy(c,a);
while(gets(b)!=NULL&&strcmp(b,"0"))//输入数字,0表示结束
strcpy(c,add_high_jd(c,b));
puts(c);//输出和...
putchar('\n');
return 0;
}
温馨提示:答案为网友推荐,仅供参考