大数相加,这个题我提交了3次才通过,我去,就我这水平,还参加比赛,笑掉别人大牙咯
#include<iostream> #include<cstdio> #include<cstring> using namespace std; char str1[1001],str2[1001]; int str3[1001],str4[1001]; int main() { // freopen("in.txt","r",stdin); int t,m; scanf("%d",&t); for (int k=1;k<=t;k++) { scanf("%s%s",str1,str2); printf("Case %d: ",k); printf("%s + %s = ",str1,str2); memset(str3,0,sizeof(str3)); memset(str4,0,sizeof(str4)); int len=strlen(str1); for (int i=0;i<len;i++) str3[i]=str1[len-i-1]-'0'; len=strlen(str2); for (int i=0;i<len;i++) str4[i]=str2[len-i-1]-'0'; len=max(strlen(str1),strlen(str2)); for (int i=0;i<len;i++) { str3[i]+=str4[i]; m=str3[i]/10; str3[i+1]+=m; str3[i]=str3[i]%10; } if(m) len++; for (int i=len-1;i>=0;i--) printf("%d",str3[i]); printf(" "); if (k!=t) printf(" "); } //fclose(stdin); return 0; }