详细解决方案
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;
}