ASCII码排序
时间限制:
3000 ms | 内存限制:
65535 KB
难度:
2
-
描述
-
输入三个字符(可以重复)后,按各字符的ASCII码从小到大的顺序输出这三个字符。
-
输入
- 第一行输入一个数N,表示有N组测试数据。后面的N行输入多组数据,每组输入数据都是占一行,有三个字符组成,之间无空格。 输出
-
对于每组输入数据,输出一行,字符中间用一个空格分开。
-
2 qwe asd
样例输出
-
e q w a d s
-
样例输入
//看了最优解,想了想发现题目要求是三个元素排序。其实可以直接对比。
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int compar(const void *a, const void *b)
{
return ((*(char *)a) - (*(char *)b));
}
int main()
{
int count = 0;
char str[3];
int i;
scanf("%d", &count);
while(count--)
{
scanf("%s", str);
qsort(str, 3, sizeof(char), compar);
for(i = 0; i < 3; i++)
printf("%c ",str[i]);
printf("\n");
}
return 0;
}
}
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int compar(const void *a, const void *b)
{
return ((*(char *)a) - (*(char *)b));
}
int main()
{
int count = 0;
char str[3];
int i;
scanf("%d", &count);
while(count--)
{
scanf("%s", str);
qsort(str, 3, sizeof(char), compar);
for(i = 0; i < 3; i++)
printf("%c ",str[i]);
printf("\n");
}
return 0;
}
}