ASCII码排序

爱⌒轻易说出口 提交于 2020-01-30 14:29:46

ASCII码排序

时间限制:3000 ms  |  内存限制:65535 KB
难度:2
 
描述
输入三个字符(可以重复)后,按各字符的ASCII码从小到大的顺序输出这三个字符。
 
输入
第一行输入一个数N,表示有N组测试数据。后面的N行输入多组数据,每组输入数据都是占一行,有三个字符组成,之间无空格。
输出
对于每组输入数据,输出一行,字符中间用一个空格分开。
样例输入
3
qwe
asd
zxc
样例输出
e q w
a d s
c x z
 1 #include <stdio.h>
 2 
 3 #define SIZE 3
 4 
 5 int main()
 6 {
 7     char array[SIZE];
 8     int times;
 9 
10     scanf("%d", &times);
11 
12     while(times > 0)
13     {
14         int i = 0;
15         char min;
16         
17         scanf("%s", &array[0]);                                //输入要排序的字符串
18 
19         for(; i < SIZE; i ++)                                //选择排序对字符数组排序
20         {
21             int j = 0;
22             int min = i;
23             
24             for(j = i; j < SIZE; j ++)                        //找出剩下最小的放到数组前面
25             {
26                 if(array[j] <= array[min])
27                     min = j;
28             }
29             if(min != i)                                    //交换
30             {
31                 char temp = array[i];
32                 array[i] = array[min];
33                 array[min] = temp;
34             }
35         }
36                                         //输出结果
37         for(i = 0; i < SIZE; i ++)
38         {
39             printf("%c ", array[i]);
40         }
41         printf("\n");
42         times --;
43     }
44 }

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!