杭电ACM1002
发布网友
发布时间:2022-04-22 09:31
我来回答
共1个回答
热心网友
时间:2023-09-27 11:16
没啥大问题,for循环出了点小错,改了之后的程序
#include<stdio.h>
#include<string.h>
int main()
{
int a[1002]={0},b[1002]={0},c[1002]={0};
int i,n,k,alen,blen,r=0;
char str1[1002],str2[1002];
scanf("%d",&n);
while(n--)
{
if(r>0) printf("\n");
scanf("%s",str1); alen=strlen(str1);
scanf("%s",str2); blen=strlen(str2);
k=alen>blen?alen:blen;
for(i=0;i<alen;i++) a[i]=str1[alen-i-1]-'0';
for(i=0;i<blen;i++) b[i]=str2[blen-i-1]-'0';
for(i=0;i<k;i++)//这里多了个分号
{
c[i]=a[i]+b[i]+c[i];
c[i+1]=c[i]/10;
c[i]=c[i]%10;
}
if(c[i]) k++;
r++;
printf("Case %d:\n",r);
printf("%s + %s = ",str1,str2); //改了一下输出格式
for(i=k-1;i>=0;i--) printf("%d",c[i]);
printf("\n");
for(i=0;i<alen;i++) a[i]=0;
for(i=0;i<blen;i++) b[i]=0;
for(i=0;i<k;i++) c[i]=0; //这个for后面又多了个;号
}
return 0;
}
还有你那个控制每组case之间有空行的错了,也改了一下追问能不能不复制????我的那个能改过来么,好像就定义错了吧