简单题,高精度加法轻松AC,
不过,还是要注意输入输出数据的格式!!
#include <stdio.h>
#include <string.h>
int main ()
{
int i,t,c=0;
char q[1005],w[1005];
int a[1005],b[1005],la,lb;
scanf("%d",&t);
while (t)
{
memset(b,0,sizeof(b));
memset(a,0,sizeof(a));
scanf("%s%s",&q,&w);
la=strlen(q); lb=strlen(w);
for (i=0;i<la;i++) a[la-i-1]=q[i]-48;
for (i=0;i<lb;i++) b[lb-i-1]=w[i]-48;
if (lb>la) la=lb;
for (i=0;i<la;i++)
{
a[i]+=b[i];
a[i+1]+=a[i]/10;
a[i]%=10;
}
if (a[la]) la++;
c++;
printf("Case %d:\n",c);
printf("%s + %s = ",q,w);
for (i=la-1;i>=0;i--) printf("%d",a[i]);
printf("\n");
t--;
if (t) printf("\n");
}
return 0;
}
本文提供了一段使用C++实现的高精度加法代码,通过字符串处理和模拟手算过程,轻松解决高精度数相加问题。代码简洁高效,适合初学者理解和实践。

被折叠的 条评论
为什么被折叠?



