rt.在输出的时候会多输出几个0
#include <bits/stdc++.h>
using namespace std;
const int N = 10000 + 5;
void Sub(string a, string b) {
int lena = a.size(), lenb = b.size();
int lenc = max(lena, lenb);
int da[N], db[N], dc[N + 5];
for (int i = 0; i < lena; ++i)
da[i] = a[lena - 1 - i] - '0';
for (int i = 0; i < lenb; ++i)
db[i] = b[lenb - 1 - i] - '0';
for (int i = 0; i < lenc; ++i) {
if (da[i] < db[i]) {
da[i + 1]--;
da[i] += 10;
}
dc[i] = da[i] - db[i];
}
while (dc[lenc - 1] == 0 && lenc > 1)
lenc--;
for (int i = lenc; i >= 0; --i)
cout << dc[i];
}
int main() {
string A, B;
cin >> A >> B;
Sub(A, B);
}