2025-09-23 13:09:26
发布于:福建
```cpp
#include <bits/stdc++.h>
using namespace std;
string s1 , s2;
long long a[101] , b[101] , c[101];
void strtoint(string src , long long des[]) {
	for (int i = 0 ; i < src.length() ; i++) {
		des [src.length() - i] = src[i] - '0';
	}
}
bool cmpstr(string str1 , string str2) {
	if (str1.length() != str2.length()) {
		return str1.length() >= str2.length();
	} else {
		return str1 >= str2;
	}
}
int main( ) {
	cin >> s1 >> s2;
	
	if (cmpstr(s1 , s2) == false) {
		swap(s1 , s2);
		cout << "-";
	}
	long long la = s1.length();
	long long lb = s2.length();
	strtoint(s1 , a);
	strtoint(s2 , b);
	long long lc = max(la , lb);
	
	for (int i = 1 ; i <= lc ; i++) {
		if (a[i] < b[i]) {
			a[i + 1]--;
			a[i] += 10;
		}
		c[i] = a[i] - b[i];
	}
	
	while(c[lc] == 0 && lc > 1){
		lc--;
	}
	for (int i = lc ; i >= 1 ; i--) {
		cout << c[i];
	}
	
	return 0;
}
会有8个测试点RE
这里空空如也







有帮助,赞一个