C++:位数相同且无进位的高精度数加法
问题描述
输入两个长度相同并且长度都在1000以内的高精度数a、b,已知a与b相加时不存在进位,请编程求出a+b的值。
输入描述
两行,第一行为l,第二行为w。
输出描述
一行,表示l,w的和。
输入示例
222222
333333
输出示例
555555
#include <iostream>
#include <iomanip>
#include <cstring>
#include <cstdio>
using namespace std;
int main(){
char l[1040] = {}; //输入l用
char w[1040] = {}; //输入w用
int l1[1040] = {}; //储存int类型l用
int w1[1040] = {}; //储存int类型w用
int sum1[4000] = {}; //储存和
cin >> l >> w; //输入
int len = strlen(l); //计算长度,因为是位数相同,所以只需储存一个长度
for (int i = 0; i < len; i++){
l1[i] = l[i] - 48; //储存int类型l
w1[i] = w[i] - 48; //储存int类型w
sum1[i] = l1[i] + w1[i]; //求和
}
for (int i = 0; i < len; i++){
cout << sum1[i]; //输出
}
return 0;
}