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

问题描述:

为什么WA了?
#include#includevoid main(){ int s,i,u;\x05 char str1[1000],str2[1000],fin[1001],m,n;\x05 int a,b,c,x; while(scanf("%d\n",&s)!=EOF)\x05 {\x05\x05 for(u=1;ub)?a:b;\x05\x05 c=c+1; fin[c+1]='\0';\x05\x05 x=0; for(i=0;ia)\x05\x05 m='0';\x05\x05\x05 else m=str1[a-i];\x05\x05 if(i>b)\x05\x05\x05\x05 n='0';\x05\x05\x05 else n=str2[b-i]; fin[c-i]=(m-'0'+n-'0'+x)%10+'0';\x05\x05\x05 x=(m-'0'+n-'0'+x)/10;\x05\x05 }\x05\x05 if(fin[0]=='0')\x05\x05 {for(i=0;i
1个回答 分类:综合 2014-11-12

问题解答:

我来补答
#include <stdio.h>
#include <string.h>
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{
\x05\x05scanf("%s",str1);
\x05\x05scanf("%s",str2);
\x05\x05printf("Case %d:\n",u);
\x05\x05printf("%s + %s = ",str1,str2);
\x05\x05if(str1[0]=='0' && str2[0]=='0'){// 处理都是0的情况
\x05\x05\x05puts("0");
\x05\x05\x05if(u!=s)
\x05\x05\x05\x05printf("\n");
\x05\x05\x05continue;
\x05\x05}
\x05\x05a=strlen(str1);
\x05\x05b=strlen(str2);
\x05\x05c=(a>b)?a:b;
\x05\x05c=c+1;
\x05\x05fin[c+1]='\0';
\x05\x05x=0;
\x05\x05for(i=0;i<=c;i++)
\x05\x05{  
\x05\x05\x05if(i>=a)//这里是>=
\x05\x05\x05\x05m='0';
\x05\x05\x05else
\x05\x05\x05\x05m=str1[a-i-1];//这里下标是a-i-1
\x05\x05\x05if(i>=b)
\x05\x05\x05\x05n='0';//这里是>=
\x05\x05\x05else
\x05\x05\x05\x05n=str2[b-i-1];//这里下标是b-i-1
\x05\x05\x05fin[c-i]=(m-'0'+n-'0'+x)%10+'0';
\x05\x05\x05x=(m-'0'+n-'0'+x)/10;
\x05\x05}
\x05\x05int ok=0;
\x05\x05for(i=0;i<=c;i++){
\x05\x05\x05if(fin[i]!='0')
\x05\x05\x05\x05ok=1;
\x05\x05\x05if(ok==1)
\x05\x05\x05\x05printf("%c",fin[i]);
\x05\x05}
\x05\x05printf("\n");
\x05\x05if(u!=s)
\x05\x05\x05printf("\n");
\x05}
}
}
这是AC的代码哈,参考下,
再问: 原来printf后边加了个: 然后不WA 变成格式错误了
再答: 恩。对的哈。满意请采纳吧。
 
 
展开全文阅读
剩余:2000
也许感兴趣的知识