大数相加
Posted hbhdhd
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了大数相加相关的知识,希望对你有一定的参考价值。
#include<stdio.h>
#include<string.h>
int main()
{
int a[1010],b[1010],c[1010];
int n,k=1;
scanf("%d",&n);
while(n--)
{
memset(a,0,sizeof(a));
memset(b,0,sizeof(b));
memset(c,0,sizeof(c));
char str1[1005],str2[1005];
scanf("%s%s",str1,str2); //把两个数当作字符串输入
int len1=strlen(str1),len2=strlen(str2);
int i,h=0;
for(i=len1-1; i>=0; i--)
a[h++]=str1[i]-‘0‘;
h=0;
for(i=len2-1; i>=0; i--)
b[h++]=str2[i]-‘0‘;
int d=len1>len2 ? len1 : len2;
int m=0;
for(i=0; i<d; i++)
{
c[i]=(a[i]+b[i]+m)%10;
m=(m+a[i]+b[i])/10; //用m来保存a[i]与b[i]的和是否大于十,以及是否要进一。
}
printf("Case %d:
%s + %s = ",k++,str1,str2);
if(m==0)
{
for(i=d-1; i>=0; i--)
printf("%d",c[i]);
if(n)
printf("
");
else
printf("
");
}
else
{
printf("1");
for(i=d-1; i>=0; i--)
printf("%d",c[i]);
if(n)
printf("
");
else
printf("
");
}
}
return 0;
}
以上是关于大数相加的主要内容,如果未能解决你的问题,请参考以下文章