这题就不解释了 水题 #include <stdio.h> #include <string.h> int main () { char a[1005],b[1005],c [1010],back [1010]; int x,y,i,j,k,up,z; int t,count,flag=0; while (~scanf("%d",&t)) { count=0; while (t--) { if(flag) printf("\n"); flag=1; k=up=0; scanf("%s",a); scanf("%s",b); i=strlen(a)-1; j=strlen(b)-1; while(i>=0||j>=0) { if(i<0) x='0';else x=a[i]; if(j<0) y='0';else y=b[j]; z=x-'0'+y-'0'; if(up) z+=1; if(z>9) { up=1; z%=10; } else up=0; c[k++]=z+'0'; i--;j--; } if(up) c[k++]='1'; i=0; c[k]='\0'; for(k-=1;k>=0;k--) back [i++]=c[k]; back[i]='\0'; printf("Case %d:\n",++count); printf("%s + %s = %s\n",a,b,back); } } return 0; }