ASCII码排序
时间限制:
3000 ms | 内存限制:
65535 KB
难度:
2
-
描述
-
输入三个字符(可以重复)后,按各字符的ASCII码从小到大的顺序输出这三个字符。
-
输入
- 第一行输入一个数N,表示有N组测试数据。后面的N行输入多组数据,每组输入数据都是占一行,有三个字符组成,之间无空格。 输出
- 对于每组输入数据,输出一行,字符中间用一个空格分开。 样例输入
-
3 qwe asd zxc
样例输出
-
e q w a d s c x z
int main()
{
int i;
char a,b,c,tmp;
scanf("%d",&i);
getchar();
while(i--)
{
scanf("%c%c%c",&a,&b,&c);
getchar();
if(a>b)
{
tmp=a;
a=b;
b=tmp;
}
if(a>c)
{
tmp=c;
c=a;
a=tmp;
}
if(b>c)
{
tmp=b;
b=c;
c=tmp;
}
printf("%c %c %c\n",a,b,c);
}
return 0;
}
总结:1.用getchar()吃掉scanf()的回车,不至于影响后面的输入。
2.3个元素排序,先1和比较,再1和3比较,最后2,3比较