【题目描述】
求两个不超过200位的非负整数的和。
【输入】
有两行,每行是一个不超过200位的非负整数,可能有多余的前导0。
【输出】
一行,即相加后的结果。结果里不能有多余的前导0,即如果结果是342,那么就不能输出为0342。
【输入样例】
22222222222222222222
33333333333333333333
【输出样例】
55555555555555555555
方法一:按字符串方式倒序录入相加后倒序输出
#include<iostream>
#include<cstring>
using namespace std;
int main() {
const int LEN=210;
char sa[LEN],sb[LEN];
cin>>sa;cin>>sb;//按字符串数组录入
int la,lb,lc;
la=strlen(sa);lb=strlen(sb);//获取字符串长度
int a[LEN],b[LEN],c[LEN];
memset(a,0,sizeof(a));
memset(b,0,sizeof(b));
memset(c,0,sizeof(c));
for(int i=0; i<la; i++) {
//倒序存入数组a
a[i]=sa[la-i-1]-'0';
}
for(int i=0; i<lb; i++) {
//倒序存入数组b
b[i]=sb[lb-i-1]-'0';
}
lc=max(la,lb);