ASCII码排序
时间限制:
3000 ms | 内存限制:
65535 KB
难度:
2
-
描述
-
输入三个字符(可以重复)后,按各字符的ASCII码从小到大的顺序输出这三个字符。
-
输入
- 第一行输入一个数N,表示有N组测试数据。后面的N行输入多组数据,每组输入数据都是占一行,有三个字符组成,之间无空格。 输出
- 对于每组输入数据,输出一行,字符中间用一个空格分开。 样例输入
-
2 qwe asd
样例输出
-
e q w a d s
分析:字符的读入、排序和输出
代码:
#include<cstdio>
void max(char *p,char *q,char *r)
{
char s;
if(*p>*q){s=*p;*p=*q;*q=s;}
if(*p>*r){s=*p;*p=*r;*r=s;}
if(*q>*r){s=*q;*q=*r;*r=s;}
}
int main()
{
int n;
scanf("%d",&n);
while(n--)
{
char c[3];
scanf("%s",c);
char *p=c,*q=p+1,*r=p+2;
max(p,q,r);
printf("%c %c %c\n",c[0],c[1],c[2]);
}
return 0;
}