3 条题解

  • 2
    @ 2025-10-6 15:19:41

    #include<stdio.h>

    #include<string.h>

    int main(){

    int n,m;

    char a[105];

    scanf("%d",&n);

    while(n--){

    int b[10]={0};记录每个数出现的次数

    int x=0;

    scanf("%s",a);

    m=strlen(a);

    for(int i=0;i<m;i++){//判断输入的值是否为0

    x=x+a[i]-'0';

    }

    if(x==0){

    printf("0 0\n");

    continue;

    }

    for(int i=0;i<m;i++){

    b[a[i]-'0']++;

    }

    for(int i=9;i>=0;i--){//从9开始输出,输出最大值

    while(b[i]>0){

    printf("%d",i);

    b[i]--;}

    }

    printf(" ");

    for(int i=0;i<m;i++){

    b[a[i]-'0']++;

    }

    for(int i=1;i<=9;i++){//从1开始输出最小值,不从0开始,0放前面无意义

    while(b[i]>0){

    printf("%d",i);

    b[i]--;}

    }

    printf("\n");

    }

    return 0;

    }

    信息

    ID
    203
    时间
    1000ms
    内存
    128MiB
    难度
    8
    标签
    (无)
    递交数
    1321
    已通过
    195
    上传者