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