请问我这代码哪错了,全部RE
查看原帖
请问我这代码哪错了,全部RE
433622
陈少楼主2021/2/11 15:54

原谅我神奇的命名。


#include<bits/stdc++.h>
using namespace std;

#define maxn 505
class big_num{
public:
    void big_plus(big_num a);
    void print();
    void in();

    big_num(){
        number=new int [maxn];
        max=maxn;
        //初始化
        for(int i=0;i<maxn;i++)
            number[i]=0;
    }
    ~big_num(){
        delete [] number;
    }
private:
    int *number;
    int max;
    void check();

};
void big_num::in() {
    string a;
    cin>>a;

    for(int i=a.length()-1,j=0;i>=0;i--)
        number[j++]=a[i]-'0';

}

void big_num::print() {
    for(int i=maxn-1,j=0;i>=0;i--){
        if(number[i]!=0||j)
            printf("%d",number[i]),j=1;
    }

}

void big_num::big_plus(big_num a) {
    for(int i=0;i<maxn;i++){
        number[i]+=a.number[i];
    }
    check();
}

void big_num::check() {
    for(int i=0,temp;i<maxn-1;i++){
        if(number[i]>9){
            temp=number[i];
            number[i]=temp%10;
            number[i+1]+=temp/10;
        }
    }
}

int main()
{
    big_num a,b;
    a.in();
    b.in();

    a.big_plus(b);
    a.print();
    cout<<endl;
    return 0;
}

2021/2/11 15:54
加载中...