菜鸡求助 高精 大整数加法(站外题)80分<(_ _)>
查看原帖
菜鸡求助 高精 大整数加法(站外题)80分<(_ _)>
883309
Mushroom_1965楼主2023/3/10 18:02
#include <iostream>
#include <string>
#include <cstdio>
#include <cstring>	//memset
using namespace std;
int main(){
	string a1, b1;
	int a[200], b[200], c[200], shit = 1;
	getline(cin, a1);
	getline(cin, b1);
	memset(a, 0, sizeof(a));
	memset(b, 0, sizeof(b));
	memset(c, 0, sizeof(c));
	for (int i = a1.size() - 1; i >= 0; i--)
		a[a1.size() - 1 - i] = a1[i] - 48;
	for (int i = b1.size() - 1; i >= 0; i--)
		b[b1.size() - 1 - i] = b1[i] - 48;
	for (int i = 0; i <= ((a1.size() > b1.size()) ? a1.size() : b1.size()); i++){
		c[i] += a[i] + b[i];
		if (c[i] >= 10){
			c[i + 1] = c[i] / 10;
			c[i] = c[i] % 10;
		}
	}
	for (int i = 199; i >= 0; i--){
		if (c[i] == 0 && shit == 1)
			continue;
		else{
			shit = 0;
			printf("%d", c[i]); 
		}
	}
	return 0;
}
2023/3/10 18:02
加载中...