因为最后的一个分号没控制好,交了好多遍。
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<math.h>
char str1[1001],str2[1001];
int str3[1001],str4[1001];
int num[1001];
int main()
{
int T,count;
int len1,len2;
int i,j,k,m=1;
scanf("%d",&T);
for(count=1;count<=T;count++)
{
scanf("%s",str1);
scanf("%s",str2);
len1=strlen(str1);
len2=strlen(str2);
for(i=len1-1,j=0;i>=0;i--)
{
str3[j]=str1[i]-'0';
j++;
}
for(i=len2-1,j=0;i>=0;i--)
{
str4[j]=str2[i]-'0';
j++;
}
if(len1<=len2)
{
k=0;
for(i=0;i<len2;i++)
{
num[i]=(str3[i]+str4[i]+k)%10;
k=(str3[i]+str4[i]+k)/10;
}
printf("Case %d:\n",m);
printf("%s + %s = ",str1,str2);
if(k==1)
{
num[len2]=1;
printf("%d",num[len2]);
}
for(i=len2-1;i>=0;i--)
{
printf("%d",num[i]);
}
printf("\n");
if(T!=count)
printf("\n");
memset(str1,0,sizeof(str1));
memset(str2,0,sizeof(str2));
memset(str3,0,sizeof(str3));
memset(str4,0,sizeof(str4));
memset(num,0,sizeof(num));
m++;
}
else
{
k=0;
for(i=0;i<len1;i++)
{
num[i]=(str3[i]+str4[i]+k)%10;
k=(str3[i]+str4[i]+k)/10;
}
printf("Case %d:\n",m);
printf("%s + %s = ",str1,str2);
if(k==1)
{
num[len1]=1;
printf("%d",num[len1]);
}
for(i=len1-1;i>=0;i--)
{
printf("%d",num[i]);
}
printf("\n");
if(T!=count)
printf("\n");
memset(str1,0,sizeof(str1));
memset(str2,0,sizeof(str2));
memset(str3,0,sizeof(str3));
memset(str4,0,sizeof(str4));
memset(num,0,sizeof(num));
m++;
}
}
}