题解 | #大整数排序#

大整数排序

https://www.nowcoder.com/practice/b744af632ac4499aa485d7bb048bb0aa

#include <stdio.h>
#include <string.h>
int comp(char a[100],char b[100]){
    int i=strlen(a),j=strlen(b);
    if(i>j)return 1;
    else if(i<j)return -1;
    else{
        for(int t=0;t<i;t++){
            if(a[t]>b[t])return 1;
            else if(a[t]<b[t])return -1;
        }
        return 0;
    }
    
}
void sort(char a[][100],int n){
    for(int i=0;i<n;i++){
        for(int j=0;j<n-i-1;j++){
            int temp=comp(a[j], a[j+1]);
            if(temp>0){
                char t[100];
                strcpy(t, a[j]);
                strcpy(a[j], a[j+1]);
                strcpy(a[j+1], t);    
            }
        }
    }
}
int main() {
    int n;
    while(scanf("%d",&n)!=EOF){
        char a[n][100];
        for(int i=0;i<n;i++){
            scanf("%s",a[i]);
        }
        sort(a,n);
        for(int i=0;i<n;i++){
            printf("%s\n",a[i]);
        }
        
    }
    return 0;
}

全部评论

相关推荐

不愿透露姓名的神秘牛友
11-26 18:54
点赞 评论 收藏
分享
勤奋努力的椰子这就开摆:美团骑手在美团工作没毛病
投递美团等公司10个岗位
点赞 评论 收藏
分享
我也曾抱有希望:说的好直白
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务