您的位置:首页 > 编程语言

南阳OJ--语言入门--来自小代码

2014-10-30 21:52 218 查看

4.ASCII码排序 -- 学习插入排序

ASCII码排序

时间限制:3000 ms  |  内存限制:65535 KB

难度:2
描述 输入三个字符(可以重复)后,按各字符的ASCII码从小到大的顺序输出这三个字符。
输入第一行输入一个数N,表示有N组测试数据。后面的N行输入多组数据,每组输入数据都是占一行,有三个字符组成,之间无空格。输出对于每组输入数据,输出一行,字符中间用一个空格分开。样例输入
3
qwe
asd
zxc

样例输出
e q w
a d s
c x z


<span style="font-size:18px;">#include<stdio.h>
#include<string.h>

/**
* @brief 插入排序
* @param array 要排序的数组
* @param len 数组的长度
* @return
*/
int sortinsert( char * elem_array, int len ){
if( NULL == elem_array || 0 >= len ){
return -1;
}

int i = 1;
int j = 0;
for( ; i < len; i++ ){
if( elem_array[i] < elem_array[i-1]){
char tmp = elem_array[i];
for( j = i - 1; j >= 0 && elem_array[j] > tmp; j--){
elem_array[j+1] = elem_array[j];
}
elem_array[j+1] = tmp;
}
}

return 0;
}

int main( void ){

int N = 0;
scanf("%d",&N);
char charr[4];

while(N--){
scanf("%s",charr);
sortinsert(charr,3);
printf("%c %c %c\n",charr[0],charr[1],charr[2]);

}

return 0;
}</span>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c 语言 OJ