您的位置:首页 > 其它

HDU 1002

2014-12-05 15:33 585 查看

大数相加,我的做法是开两个字符数组,和整型数组,将字符数组存到整型数组里面去,让两个整型数组相加,如果大于等于10,前一位进一(因为存的时候顺序已经反了)。。

然后从后面开始判断非0,如果遇到不是零的直接跳出,输出数组。直接上代码吧。

#include <stdio.h>
#include <string.h>
int main()
{
int a[1005];
int b[1005];
char a1[1005];
char a2[1005];
int n,m,i,j,l1,l2,cc;
scanf("%d",&n);
m=n;
int wbx=1;
while(m--)
{
memset(a,0,sizeof(a));
memset(b,0,sizeof(b));
scanf("%s%s",a1,a2);
l1=strlen(a1);
l2=strlen(a2);
cc=0;
for(i=l1-1;i>=0;i--)
a[cc++]=a1[i]-'0';
cc=0;
for(i=l2-1;i>=0;i--)
b[cc++]=a2[i]-'0';
for(i=0;i<1005;i++)
{
a[i]+=b[i];
if(a[i]>=10)
{
a[i]-=10;
a[i+1]++;
}
}
printf("Case %d:\n",wbx++);
printf("%s + %s = ",a1,a2);
for(i=1004;i>=0;i--)
if(a[i])
break;
for(j=i;j>=0;j--)
printf("%d",a[j]);
printf("\n");
if(wbx!=n+1)
printf("\n");
}
return 0;
}


 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  ACM算法 amp c math.h printf