2000 ASCII码排序
题意描述:
Problem Description |
输入三个字符后,按各字符的ASCII码从小到大的顺序输出这三个字符。 |
Input |
输入数据有多组,每组占一行,有三个字符组成,之间无空格。 |
Output |
对于每组输入数据,输出一行,字符中间用一个空格分开。 |
Sample Input |
qwe |
Sample Output |
e q w |
问题分析:
1,比较1,2两个数。如果第一个数比第二数大,把这两个数交换,来保证前面两个数按升序排列。
2,比较2,3两个数。如果第二个数比第三数大,把这两个数交换,来保证后面两个数按升序排列。
3,经过上面两步,最大的数已经被移到最后。再重复一次第一步。保证三个数都是按升序来排列。
源代码:
#include<stdio.h>
int main()
{
char a,b,c,d,t;
while(scanf("%c%c%c",&a,&b,&c) != EOF)
{
if(a > b)
{
t = a;
a = b;
b = t;
}
if(b > c)
{
t = b;
b = c;
c = t;
}
if(a > b)
{
t = a;
a = b;
b = t;
}
scanf("%c",&d);
printf("%c %c %c\n",a,b,c);
}
return 0;
}