60分#3,5,8,9WA,求调
查看原帖
60分#3,5,8,9WA,求调
827220
Cload_Honor楼主2023/9/10 21:44

代码

#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];
    }
}
2023/9/10 21:44
加载中...