题目大意:求和,数可能很大,输入n表示要处理的数据数目,注意输出格式。
第一次做大数,做的挺烂。
#include <stdio.h>
#include <string.h>
int main()
{
char s1[1000],s2[1000];
int n1[1000],n2[1000],sum[1000],len1,len2,i,j,max,temp,n;
scanf("%d",&n);
for(i=0;i<n;i++)
{
scanf("%s %s",&s1,&s2);
memset(n1,0,1000*sizeof(int));
memset(n2,0,1000*sizeof(int));
memset(sum,0,1000*sizeof(int));
len1=strlen(s1);
len2=strlen(s2);
temp=0;
for(j=len1;j>0;j--)
{
n1[temp++]=s1[j-1]-'0';
}
temp=0;
for(j=len2;j>0;j--)
{
n2[temp++]=s2[j-1]-'0';
}
max=len1>len2?len1:len2;
for(j=0;j<=max;j++)
{
sum[j]=n1[j]+n2[j]+sum[j];
if(sum[j]>=10)
{
sum[j]-=10;
sum[j+1]+=1;
}
}
printf("Case %d:\n",i+1);
printf("%s + %s = ",s1,s2);
if(sum[max]!=0)
{
while(max+1)
{
printf("%d",sum[max]);
max--;
}
printf("\n");
}
else
{
while(max)
{
printf("%d",sum[max-1]);
max--;
}
printf("\n");
}
if(i==(n-1))
;
else
printf("\n");
}
return 0;
}