2019/3/20大整数加法
题目描述:
给出两个200位以内的正整数,求其和。
输入描述:
多组测试数据。每组测试数据包括两行,每行一个数。
输出描述:
每组测试输出一行,为所求两个整数之和。
样例输入:
123
456
样例输出:
579
#include<iostream>
#include<cstring>
using namespace std;
char b[400];
char a[400];
int a1[200];
int b1[200];
int c[200];
int max(int a,int b){
return (a>b?a:b);
}
int main() {
int i,j;
int k,t;
int q,w;
while(cin>>a>>b)
{
q=strlen(a);
w=strlen(b);
for(i=0;i<q;i++){
a1[i]=a[q-i-1]-'0';
}
for(i=0;i<w;i++){
b1[i]=b[w-i-1]-'0';
}
k=max(q,w);
for(i=0;i<=k;i++){
c[i]=a1[i]+b1[i];
}
for(i=0;i<=k;i++){
if(c[i]>9){
c[i+1]=c[i+1]+1;
c[i]=c[i]-10;
}
}
for(i=k+2;i>=0;i--){
if(c[i]!=0){
t=i;break;
}
}
for(j=t;j>0;j--){
cout<<c[j];
}
cout<<c[0]<<endl;
}
return 0;
}