您的位置:首页 > 其它

HDU-1002

2015-12-05 23:24 357 查看
高精度加法

//高精度加法
#include<stdio.h>
#include<string.h>
int main()
{
int i,j,t,long1,long2,k;
char a[1000],b[1000];
scanf("%d",&t);
for(i=0;i<t;i++)
{
int m[1000]={0},n[1000]={0},c[10000]={0},x=0;
scanf("%s",a);
scanf("%s",b);
long1=strlen(a);
long2=strlen(b);
for(j=0;j<long1;j++)m[long1-j-1]=a[j]-'0';
for(j=0;j<long2;j++)n[long2-j-1]=b[j]-'0';
k=long1<long2?long2:long1;
for(j=0;j<k;j++)
{
c[j]=c[j]+m[j]+n[j];
if(c[j]>9){c[j]=c[j]-10;c[j+1]=c[j+1]+1;}
}
if(c[j+1]>0)x=1;
printf("Case %d:\n",i+1);
for(j=long1-1;j>=0;j--)
printf("%d",m[j]);
printf(" + ");
for(j=long2-1;j>=0;j--)
printf("%d",n[j]);
printf(" = ");
for(j=k+x-1;j>=0;j--)
printf("%d",c[j]);
if(i==t-1)printf("\n");
else printf("\n\n");
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: