为什么WA了?#include#includevoid main(){ int s,i,u;\x05 char str1

1个回答

  • #include

    #include

    void main()

    {int s,i,u;

    char str1[1000],str2[1000],fin[1001],m,n;

    int a,b,c,x;

    while(scanf("%d",&s)!=EOF)

    {

    x05for(u=1;u<=s;u++)

    x05{

    x05x05scanf("%s",str1);

    x05x05scanf("%s",str2);

    x05x05printf("Case %d:n",u);

    x05x05printf("%s + %s = ",str1,str2);

    x05x05if(str1[0]=='0' str2[0]=='0'){// 处理都是0的情况

    x05x05x05puts("0");

    x05x05x05if(u!=s)

    x05x05x05x05printf("n");

    x05x05x05continue;

    x05x05}

    x05x05a=strlen(str1);

    x05x05b=strlen(str2);

    x05x05c=(a>b)?a:b;

    x05x05c=c+1;

    x05x05fin[c+1]='';

    x05x05x=0;

    x05x05for(i=0;i<=c;i++)

    x05x05{

    x05x05x05if(i>=a)//这里是>=

    x05x05x05x05m='0';

    x05x05x05else

    x05x05x05x05m=str1[a-i-1];//这里下标是a-i-1

    x05x05x05if(i>=b)

    x05x05x05x05n='0';//这里是>=

    x05x05x05else

    x05x05x05x05n=str2[b-i-1];//这里下标是b-i-1

    x05x05x05fin[c-i]=(m-'0'+n-'0'+x)%10+'0';

    x05x05x05x=(m-'0'+n-'0'+x)/10;

    x05x05}

    x05x05int ok=0;

    x05x05for(i=0;i<=c;i++){

    x05x05x05if(fin[i]!='0')

    x05x05x05x05ok=1;

    x05x05x05if(ok==1)

    x05x05x05x05printf("%c",fin[i]);

    x05x05}

    x05x05printf("n");

    x05x05if(u!=s)

    x05x05x05printf("n");

    x05}

    }

    }

    这是AC的代码哈,参考下,