ASCII码排序
时间限制:
3000 ms | 内存限制:
65535 KB
难度:
2
-
描述
-
输入三个字符(可以重复)后,按各字符的ASCII码从小到大的顺序输出这三个字符。
-
输入
- 第一行输入一个数N,表示有N组测试数据。后面的N行输入多组数据,每组输入数据都是占一行,有三个字符组成,之间无空格。 输出
- 对于每组输入数据,输出一行,字符中间用一个空格分开。 样例输入
-
2 qwe asd
样例输出
-
e q w a d s
这个题目也就是三个字符比大小输出的,注意每次判断的过程和最后输出结果的格式就好!
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
int main()
{
char a,b,c,d;
int num;
scanf("%d",&num);
getchar();
while(num--)
{
scanf("%c%c%c",&a,&b,&c);
getchar();
if(a>=b)
{
if(b>c)
{
printf("%c %c %c\n",c,b,a);
continue;
}
else
{
if(a>c)
{
printf("%c %c %c\n",b,c,a);
continue;
}
else
printf("%c %c %c\n",b,a,c);
}
}
else
{
if(b<c)
{
printf("%c %c %c\n",a,b,c);
continue;
}
else
{
if(a>c)
{
printf("%c %c %c\n",c,a,b);
continue;
}
else
printf("%c %c %c\n",a,c,b);
}
}
}
return 0;
}
后来我发现了 用sort排序也是可以的!更简单一些!
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
int main()
{
char a[5];
int num;
scanf("%d",&num);
getchar();
while(num--)
{
gets(a);
sort(a,a+3);
printf("%c %c %c\n",a[0],a[1],a[2]);
}
}