问题 U: C语言实习题四——6.姓名排序
时间限制: 1 Sec 内存限制: 128 MB
题目描述
由键盘任意输入10个学生的姓名(以拼音形式),将它们按照ASCⅡ码的顺序从小到大排序
输入
10个学生的姓名(以拼音形式)。
输出
按照ASCⅡ码的顺序从小到大排序。
样例输入
ziang zaang zbang zcang zdang zeang zfang zgang zhang zhang
样例输出
zaang zbang zcang zdang zeang zfang zgang zhang zhang ziang
代码实现
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main() {
char* arr[10];
for (int i = 0; i < 10; i++) {
arr[i] = (char*)malloc(100 * sizeof(char));
gets(arr[i]);
}
for (int i = 0; i < 10 - 1; i++) {
for (int j = 0; j < 10 - 1 - i; j++) {
if (strcmp(arr[j], arr[j + 1]) > 0) {
char* p = NULL;
p = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = p;
}
}
}
for (int i = 0; i < 10; i++) {
puts(arr[i]);
free(arr[i]);
}
return 0;
}