当前位置: 代码迷 >> 综合 >> ZQOJ 1086: ASCII码排序(多实例测试)
  详细解决方案

ZQOJ 1086: ASCII码排序(多实例测试)

热度:87   发布时间:2024-01-25 21:52:48.0

参考与https://blog.csdn.net/zzuli_acmer/article/details/77971529

 

题目描述

输入三个字符后,按各字符的ASCII码从小到大的顺序输出这三个字符。

输入

输入数据有多组,每组占一行,有三个字符组成,之间无空格。

输出

对于每组输入数据,输出一行,字符中间用一个空格分开。

样例输入

qwe
asd
zxc

样例输出

e q w
a d s
c x z

提示

注意:scanf("%c",&ch)格式读字符时,所有字符都是有效输入,如回车符、空格符等,所以每行读取字符之后要处理最后的回车符

 

#include<stdio.h>

int main()

{

    char ch1, ch2, ch3;

    char a, b, c;

    while (scanf("%c%c%c",&ch1, &ch2, &ch3) != EOF)

    {

        getchar();

        if (ch1 >= ch2 && ch2 >= ch3)

        {

            a = ch1;

            b = ch2;

            c = ch3;

        }

        else if (ch2 >= ch1 && ch1 >= ch3)

        {

            a = ch2;

            b = ch1;

            c = ch3;

        }

        else if (ch1 >= ch3 && ch3 >= ch2)

        {

            a = ch1;

            b = ch3;

            c = ch2;

        }

        else if (ch2 >= ch3 && ch3 >= ch1)

        {

            a = ch2;

            b = ch3;

            c = ch1;

        }

        else if (ch3 >= ch1 && ch1 >= ch2)

        {

            a = ch3;

            b = ch1;

            c = ch2;

        }

        else if (ch3 >= ch2 && ch2 >= ch1)

        {

            a = ch3;

            b = ch2;

            c = ch1;

        }

        printf("%c %c %c\n", c, b, a);

    }

    return 0;

}

  相关解决方案