为什么WA了?
#include#includevoidmain(){ints,i,u;charstr1[1000],str2[1000],fin[1001],m,n;inta,b,c,...
#include#includevoid main(){ int s,i,u; char str1[1000],str2[1000],fin[1001],m,n; int a,b,c,x; while(scanf("%d\n",&s)!=EOF) { for(u=1;u<=s;u++) s="" a="strlen(str1)-1;" b="strlen(str2)-1;" c="(a">b)?a:b; c=c+1; fin[c+1]='\0'; x=0; for(i=0;i<=c;i++) i="">a) m='0'; else m=str1[a-i]; if(i>b) n='0'; else n=str2[b-i]; fin[c-i]=(m-'0'+n-'0'+x)%10+'0'; x=(m-'0'+n-'0'+x)/10; } if(fin[0]=='0') {for(i=0;i<=c;i++) fin[i]=fin[i+1];} printf("Case %d\n%s + %s = %s\n\n",u,str1,str2,fin); } }}
展开
1个回答
展开全部
#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)
{
for(u=1;u<=s;u++)
{
scanf("%s",str1);
scanf("%s",str2);
printf("Case %d:\n",u);
printf("%s + %s = ",str1,str2);
if(str1[0]=='0' && str2[0]=='0'){// 处理都是0的情况
puts("0");
if(u!=s)
printf("\n");
continue;
}
a=strlen(str1);
b=strlen(str2);
c=(a>b)?a:b;
c=c+1;
fin[c+1]='\0';
x=0;
for(i=0;i<=c;i++)
{
if(i>=a)//这里是>=
m='0';
else
m=str1[a-i-1];//这里下标是a-i-1
if(i>=b)
n='0';//这里是>=
else
n=str2[b-i-1];//这里下标是b-i-1
fin[c-i]=(m-'0'+n-'0'+x)%10+'0';
x=(m-'0'+n-'0'+x)/10;
}
int ok=0;
for(i=0;i<=c;i++){
if(fin[i]!='0')
ok=1;
if(ok==1)
printf("%c",fin[i]);
}
printf("\n");
if(u!=s)
printf("\n");
}
}
}
这是AC的代码哈,参考下,满意请采纳。
追问
原来printf后边加了个: 然后不WA 变成格式错误了
追答
恩。对的哈。满意请采纳吧。
来自:求助得到的回答
君成
2023-06-06 广告
2023-06-06 广告
江苏君成工业智能科技有限公司,成立于2020年,核心团队由一群从事受控环境领域数十年经验的人员组成,公司主打两条产品线: 1、以洁净室下游为主体的整体解决方案服务产品线。 2、以洁净室中游为主体的批量净化设备设计、供应及服务产品线。作为中国...
点击进入详情页
本回答由君成提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询