ASCII码排序
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 81176 Accepted Submission(s): 33725
Problem Description
输入三个字符后,按各字符的ASCII码从小到大的顺序输出这三个字符。
Input
输入数据有多组,每组占一行,有三个字符组成,之间无空格。
Output
对于每组输入数据,输出一行,字符中间用一个空格分开。
Sample Input
qweasdzxc
Sample Output
e q wa d sc x z
代码:
//这道题关键是把输入3个字符后的回车过滤掉,不然回车就会成为下一组的第一个字符。
#include <stdio.h>
int main ()
{
char a,b,c,m,n,q;
while (scanf("%c%c%c%*c",&a,&b,&c)!=EOF) //注意scanf"%c"通常不跳过空字符,所以回车会被认为是下一组的第一个字符。用"%*c"(空字符,不存储字符的字符)滤掉回车
{
if (a>b)
{
m = a;
a = b;
b = m;
}
if (b>c)
{
n = b;
b = c;
c = n;
}
if (a>b)
{
q = a;
a = b;
b = q;
}
printf("%c %c %c\n",a,b,c);
}
return 0;
}