萌新求助
查看原帖
萌新求助
490676
_llltd14_楼主2021/3/20 12:41

有时候最后两位各多出来1(?)

13
12
36

有时候会有前导0 例如

1
1
02
#include <iostream>
#include <string>
#include <algorithm> 
using namespace std;
void add(string A, string B){
	int la = A.length(), lb = B.length(), lc, tmp;
	reverse(A.begin(), A.end());
	reverse(B.begin(), B.end());
	int a[501] = {0}, b[501] = {0}, ans[501] = {0};
	for(int i = 0; i < la; ++i) a[i + 1] = A[i] - '0';
	for(int i = 0; i < lb; ++i) b[i + 1] = B[i] - '0';
	for(int i = 1; i <= max(la, lb); ++i){
		if(la <= max(la, lb)) tmp += a[i];
		if(lb <= max(la, lb)) tmp += b[i];
		ans[i] += tmp;
		if(ans[i] / 10 == 1) ++ans[i + 1], lc = max(la, lb) + 1;
		else lc = max(la, lb);
		ans[i] %= 10;
		tmp = 0;
	}
	for(int i = lc; i >= 1; --i) cout << ans[i];
	return ;
}
int main(){
	string A, B;
	cin >> A >> B;
	add(A, B);
	return 0;
}
2021/3/20 12:41
加载中...