90分,求调!
查看原帖
90分,求调!
1286553
doooge楼主2024/8/20 09:48

代码:

#include <bits/stdc++.h>
using namespace std;
string sub (string x , string y)
{
	int a[10100] = {},b[10100] = {},c[10100] = {},k = 0;
	for (int i = x.size() - 1 ; i >= 0 ; i--)
	{
		k++;
		a[k] = x[i] - '0';
	}
	k = 0;
	for (int i = y.size() - 1 ; i >= 0 ; i--)
	{
		k++;
		b[k] = y[i] - '0';
	}
	int len = x.size();
	for (int i = 1 ; i <= len ; i++)
	{
		c[i] = a[i] - b[i] + c[i];
		if (c[i] < 0)
		{
			c[i + 1]--;
			c[i] += 10;
		}
	}
	while (c[len] == 0) len--;
	string z = "";
	for (int i = len ; i >= 1 ; i--)
	{
		z = z + char(c[i] + '0');
	}
	return z;
}
int main()
{
	string a,b;
	cin >> a >> b;
	if (a.size() < b.size())
	{
		swap(a , b);
		cout << '-';
	}
	if (a.size() == b.size() && a < b)
	{
		swap(a , b);
		cout << '-';
	}
	cout << sub(a , b) << endl;
    return 0;
}
2024/8/20 09:48
加载中...