文章

70

粉丝

0

获赞

215

访问

6.2k

头像
大整数排序 题解:先看长度,再看ascii码
P1412 华中科技大学机试题
发布于2026年3月17日 12:39
阅读数 33

#include<stdio.h>
#include<iostream>
#include<algorithm>
#include<string>
#include<functional>
#include<string.h>

using namespace std;

bool cmp(string a, string b){
    if(a.length()==b.length()) return a<b;        //长度相等, ASCII码小的数(即数值小的)排前面
    return a.length() < b.length();                //长度不相等,短的排前面
}


int main(){
    int n;
    string big_nums[100];
    while(cin>>n){
        for(int i=0; i<n; i++) cin>>big_nums[i];
        
        sort(big_nums,big_nums+n,cmp);

        for(int i=0; i<n; i++) cout<<big_nums[i]<<endl;
    }
}

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发