大佬求救,第三个样例始终过不了
查看原帖
大佬求救,第三个样例始终过不了
1466779
small_mice楼主2025/1/14 22:15
#define _CRT_SECURE_NO_WARNINGS
#include<iostream>
#include<string>
#include <cstring>
using namespace std;
int main()
{
	int arr[501],max_arr=0,a;
	std::string Aarr, Barr;
	cin >> Aarr >> Barr;
	for (int i = 0; i < max(Aarr.size(), Barr.size())+1; i++)//+1防止进位
	{
		arr[i] = 0;
	}

	if (Aarr.size() > Barr.size())
	{
		int e = Aarr.size() - Barr.size();
		string tmp(e, '0');//多少个0
		Barr = tmp + Barr;
	}
	else if (Aarr.size() < Barr.size())
	{
		int e = Barr.size() - Aarr.size();
		string tmp(e, '0');//不是
		Aarr = tmp + Aarr;
	}

	Aarr = '0' + Aarr;
	Barr = '0' + Barr;

	for (int i = Aarr.size(); i >0 ; i--)
	{
		arr[i] += (int)Barr[i]-48;
		arr[i] += (int)Aarr[i]-48;
		if (arr[i] >= 10)
		{
			arr[i-1]++; //进位没有往大位上进而是向小位上进
			arr[i] -= 10;;
		}
	}

	if (arr[0])
	{
		cout << 1;
	}
	for (int i = 1 ; i < Aarr.size(); i++)
	{
		cout << arr[i];
	}

	cout << endl;
	return 0;
}
2025/1/14 22:15
加载中...