c语言用ascii码排序

![img](https://img-mid.csdnimg.cn/release/static/image

img


/mid/ask/61462174846615.jpg "#left")
字符不能直接比较大小吗,输出的东西和if语句的条件不一样,不知道怎么搞

img


img

ASCII码排序和字符排序是一样的

#include<stdio.h>
int main(){
        char a,b,c;
        scanf("%c%c%c",&a,&b,&c);
                if(a>b&&b>c)
                        printf("%c %c %c",c,b,a);
                else if(b>a&&a>c)
                        printf("%c %c %c",c,a,b);
                else if(c>a&&a>b)
                        printf("%c %c %c",b,a,c);
                else if(a>c&&c>b)
                        printf("%c %c %c",b,c,a);
                else if(b>c&&c>a)
                        printf("%c %c %c",a,c,b);
                else if(c>b&&b>a)
                        printf("%c %c %c",a,b,c);
                        return 0;
}

这个跟整型一样比较大小

#include<stdio.h>
#include<string.h>
int main(){
    char ch[4];
    scanf("%s",&ch);
    int len = strlen(ch);
    for(int i = 0;i < len;i++){
        for(int j = i + 1;j < len;j++){
            if(ch[i] > ch[j]){
                char mid = ch[i];
                ch[i] = ch[j];
                ch[j] = mid;
            }
        }
    }
    printf("%s",ch);
}

对您有帮助的话希望可以采纳

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^