错哪了
2025-09-23 13:09:26
发布于:福建
8阅读
0回复
0点赞
```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
这里空空如也
有帮助,赞一个