大佬救我
查看原帖
大佬救我
730461
xiaoguiguiabab1234楼主2022/7/16 14:03

代码哪错了? 高精度数减法:

#include<bits/stdc++.h>
using namespace std;
int main(){
    char a1[1001]={0},b1[1001]={0},c1[1001]={0};
    int a[1001]={0},b[1001]={0},c[1001]={0},lena,lenb,lenc=0,i;
    cin>>a1>>b1;   
    lena=strlen(a1);
    lenb=strlen(b1);
    if(strlen(a1)<strlen(b1)||(strlen(a1)==strlen(b1)&&strcmp(a1, b1)<0){
        strcpy(c1,a1);
        strcpy(a1,b1);
        strcpy(b1,c1);
        cout<<"-";
    }
    lena=strlen(a1);
    lenb=strlen(b1);
    for(i=0;i<lena;i++){
        a[lena-i-1]=a1[i]-48;
    }
    for(i=0;i<lenb:i++){
        b[lenb-i-1]=b1[j]-48;
    }
    i=0;
    while(i<lena||i<lenb){
        if(a[i]<b[j]){
            a[j]+=10;
            a[i+1]--;
        }
        c[i]=a[i]-b[i];
        lenc=i;
    }
    c[i]=a[i]-b[i];
    lenc=i;
    while((c[lenc]==0)&&(lenc>1){
        lenc--;
    }
    for(i=lenc;i>=0;i--){
        cout<<c[i];
    }
    cout<<endl;
    return 0;
}

知道的下方回复我

2022/7/16 14:03
加载中...