您的位置:首页 > 其它

HDU 1002 A + B Problem II 大数相加

2010-09-08 22:11 447 查看
#include<string.h>
#include <stdio.h>
int main()
{

char
a[1000],b[1000];
char
a1[1001],b1[1001],c[1001];
int
i,j,k,flag,pos,la,lb;
scanf("%d",&k);

for
(j=1;j<=k;j++)
{

scanf("%s %s",a,b);
la=strlen(a);
lb=strlen(b);
for
(i=0;i<1001-la;i++)
{

a1[i]='0';
}

strcpy(a1+1001-la,a);
for
(i=0;i<1001-lb;i++)
{

b1[i]='0';
}

strcpy(b1+1001-lb,b);
flag=0;
for
(i=1000;i>=0;i--)
{

c[i]=a1[i]+b1[i]-'0'-'0'+flag;
if
(c[i]>9)
{

c[i]=c[i]-10;
flag=1;
}

else

flag=0;
}

for
(i=0;i<1001;i++)
{

c[i]=c[i]+'0';
}

pos=1000;
for
(i=0;i<1000;i++)
{

if
(c[i]!='0')
{

pos=i;break;
}

else
pos=1000;
}

printf("Case %d:\n",j);
printf("%s + %s = ",a,b);
for
(i=pos;i<1001;i++)
{

printf("%c",c[i]);
}

printf("\n");
if
(j<k) printf("\n");
}


return
0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: