大整数比较

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

struct bign {
    int a[1000];
    int len;
    bign() {                                                //初始化
        memset(a,0,sizeof(a));
        len=0;
    }
};

bign change(string str) {                       //将字符串存入bign结构体中。
    bign b;
    b.len=str.size();                                //bign的长度就是字符串的长度。
    int num=0;
    for(int i=b.len-1; i>=0; --i) {
        b.a[num++]=str[i]-'0';
    }
    return b;
}

int cmp(bign a,bign b) {
    if(a.len>b.len) {
        return 1;
    } else if(a.len<b.len) {
        return -1;
    } else {
        for(int i=a.len-1; i>=0; --i) {                //从高位往低位比较
            if(a.a[i]>b.a[i]) {
                return 1;
            } else if(a.a[i]<b.a[i]) {
                return -1;
            }
        }
    }
    return 0;
}

int main() {
    string s1,s2;
    while(cin>>s1>>s2){
        bign x,y;
        x=change(s1);
        y=change(s2);
        cout<<cmp(x,y)<<endl;
    }
    return 0;
}
全部评论
楼主大神啊,我现在都无法静下心写代码
点赞 回复 分享
发布于 2022-10-24 14:36 山西

相关推荐

牛客963010790号:一般是hr拿着老板账号在招人不是真是老板招
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务