代码
#include <bits/stdc++.h>
char a[10100], b[10100], c[10100];
int aint[10100], bint[10100], ans[10100];
int lena, lenb, lenc;
main(int argc, char const *argv[])
{
std::ios::sync_with_stdio(false);
std::cin.tie(0);
std::cin >> a >> b;
lena = strlen(a);
lenb = strlen(b);
if ((lena < lenb)|| (lena == lenb && strcmp(a, b) < 0)) {
strcpy(c, a);
strcpy(a, b);
strcpy(b, c);
std::cout << '-';
}
for (int i = 0; i < lena; i++) {
aint[i] = a[lena - 1 - i] - '0';
}
for (int i = 0; i < lenb; i++) {
bint[i] = b[lenb - 1 - i] - '0';
}
while (lenc < lena|| lenc < lenb) {
if (aint[lenc] < bint[lenc]) {
aint[lenc] += 10;
aint[lenc + 1]--;
}
ans[lenc] = aint[lenc] - bint[lenc];
lenc++;
}
while (!ans[lenc]) {
lenc--;
}
for (int i = lenc; i >= 0; i--) {
std::cout << ans[i];
}
}