题目描述
高精度加法,相当于 a+b problem,不用考虑负数。
输入格式
分两行输入。a,b ≤ 。
输出格式
输出只有一行,代表 a+b 的值。
输入输出样例
输入 #1
1 1
输出 #1
2
输入 #2
1001 9099
输出 #2
10100
#include<iostream>
#include<string>
using namespace std;//高精度加法 只能是两个正数相加
string add(string str1, string str2)
{int len1=str1.length();int len2=str2.length();//补前导0,使字符串长度相等if(len1<len2) //str1短 {for(int i=1; i<=len2-len1; ++i){str1 = '0'+str1;}}else //str2短 {for(int i=1; i<=len1-len2; ++i){str2 = '0'+str2;}}string str;int cf = 0; //进位 int temp;len1=str1.length();for(int i=len1-1; i>=0; i--){temp = str1[i]-'0' + str2[i]-'0' + cf;cf = temp / 10;temp = temp % 10;str = char(temp+'0') + str; //字符串拼接 } if(cf!=0) str = char(cf+'0')+str;return str;
}int main()
{string str1, str2;cin>>str1>>str2; cout<<add(str1, str2);return 0;
}