回复 8楼 wmf2014
我把我原来那个程序改了一下,现在可以9999999999 + 99得到正确的结果了。但是提交以后还是说是格式错误。
# include <stdio.h> int main() { int i,j,k,l,al,bl,n,m,sum[1001]; char a[1000],b[1000]; scanf("%d",&n); if(n<1||n>20)n=1; for(m=0;m<n;m++) { if(m>0)printf("\n"); scanf("%s%s",a,b); for(i=0,al=0;a[i]!=0;i++){if(a[i]>47&&a[i]<58){a[al]=a[i];al++;}}//过滤掉非数字字符并获取字符串长度 for(i=0,bl=0;b[i]!=0;i++){if(b[i]>47&&b[i]<58){b[bl]=b[i];bl++;}}//过滤掉非数字字符并获取字符串长度 a[al]=0; b[bl]=0; l=al; if(bl>al)l=bl; sum[0]=-1; k=0; while(k>0||al>0||bl>0) { j=k; if(al>0)j=j+a[al-1]-48; if(bl>0)j=j+b[bl-1]-48; k=j/10; j=j%10; for(i=l+1;i>0;i--)sum[i]=sum[i-1]; sum[0]=j; al--; bl--; } printf("Case %d:\n",m+1); printf("%s + %s = ",a,b); for(i=0;sum[i]>=0;i++)printf("%d",sum[i]); printf("\n"); } return 0; }