题目名称
大整数的加法/高精度加法
输入描述
输入两个大数,第一个为a,第二个为b(大数的位数不超过100)。
输出描述
一行,相加的结果。
示例输入
111111111111111
999999999999999
示例输出
1111111111111110
-----------------------------------------------请认真思考后查看源码----------------------------------------------------
-----------------------------------------------请认真思考后查看源码----------------------------------------------------
-----------------------------------------------请认真思考后查看源码----------------------------------------------------
完整代码
#include<bits/stdc++.h>
using namespace std;
int main(){
char a1[1001]={},a2[1001]={};
int b1[1001]={},b2[1001]={},b3[1001]={};
cin>>a1>>a2;
int len1=strlen(a1);
int len2=strlen(a2);
for(int i=0;i<len1;i++){
b1[len1-1-i]=a1[i]-'0';
}
for(int i=0;i<len2;i++){
b2[len2-1-i]=a2[i]-'0';
}
int lenc=max(len1,len2);
int jinwei=0;
for(int i=0;i<lenc;i++){
b3[i]=b1[i]+b2[i]+jinwei;
jinwei=b3[i]/10;
b3[i]%=10;
}
if(jinwei!=0){
cout<< 1 ;
}
for(int i=lenc-1;i>=0;i--){
cout<< b3[i] ;
}
return 0;
}