#include <cstdio>
#include <cstring>
#include <iostream>
#include <algorithm>
using namespace std;
void fun(char s[],int c[])
{
for(int i=0;i<strlen(s);i++)
{
c[i]=s[strlen(s)-1-i]-'0';
}
}
int main()
{
char s1[15],s2[15]; //数组的大小决定数值的大小
while(~scanf("%s %s",s1,s2))
{
if(strcmp(s1,"0")==0&&strcmp(s2,"0")==0) break;
int a[15],b[15],num;
memset(a,0,sizeof(a)); //注意初始化
memset(b,0,sizeof(b));
num=0;
fun(s1,a); //转化
fun(s2,b);
for(int i=0;i<15;i++) //数组相加
{
if(a[i]+b[i]>9)
{
b[i+1]+=(a[i]+b[i])/10;
b[i]=(a[i]+b[i])%10;
}
else
b[i]=a[i]+b[i];
}
for(int i=15;i>=0;i--) //输出控制
{
if(b[i]!=0)
{
for(int j=i;j>=0;j--)
printf("%d",b[j]);
break;
}
}
}
return 0;
}
大数相加(高精度)
最新推荐文章于 2021-01-22 00:48:38 发布