求助
查看原帖
求助
764554
xiaoheizi123楼主2023/8/2 15:33
#include <iostream>
#include <cstring>
#include <string>
using namespace std;
int a1[114514], len1, a2[114514], len2;
int main() {
    memset(a1, 0, sizeof(a1));
    memset(a2, 0, sizeof(a2));
    string num1, num2;
    cin >> num1 >> num2;
    if((num1.length()<num2.length()||num1.length()==num2.length())&&num1<num2){
        swap(num1,num2);
        cout << "-";
    }
    len1 = num1.length();
    len2 = num2.length();
    for (int i = 1; i <= len1; i++) {
        a1[i] = num1[len1 - i] - '0';
    }
    for (int i = 1; i <= len2; i++) {
        a2[i] = num2[len2 - i] - '0';
    }
    len1=max(len1,len2);
    for(int i=1;i<=len1;i++){
        a1[i]-=a2[i];
        if(a1[i]<0){
            a1[i+1]--;
            a1[i]+=10;
        }
    }
    while(len1 > 1 && a1[len1]==0){
        len1--;
    }
    for(int i=len1;i>=1;i--){
        cout<<a1[i];
    }
    cout<<endl;
    return 0;
}
2023/8/2 15:33
加载中...