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;
}
原文地址:https://www.cnblogs.com/Locking-Shonn/p/12569197.html