请用c语言编程:输入1几个人的英文(拼音也行)名字,然后将名字按字母顺序从小到大排列.
时间: 2023-06-08 13:08:21 浏览: 155
以下是用C语言编写的程序:
```c
#include <stdio.h>
#include <string.h>
int main()
{
int n;
printf("请输入人数:");
scanf("%d", &n);
char names[n][20];
printf("请输入名字:\n");
for (int i = 0; i < n; i++) {
scanf("%s", names[i]);
}
// 冒泡排序
for (int i = 0; i < n - 1; i++) {
for (int j = 0; j < n - i - 1; j++) {
if (strcmp(names[j], names[j + 1]) > 0) {
char temp[20];
strcpy(temp, names[j]);
strcpy(names[j], names[j + 1]);
strcpy(names[j + 1], temp);
}
}
}
printf("排序后的名字:\n");
for (int i = 0; i < n; i++) {
printf("%s\n", names[i]);
}
return 0;
}
```
解释一下程序的流程:
1. 读入人数n,并定义一个n行20列的字符数组names作为存储名字的容器。
2. 通过循环读入n个名字,存储到names数组中。
3. 使用冒泡排序对names数组进行排序,排序结果从小到大。
4. 遍历排序后的names数组,依次输出排好序的名字。
希望这个回答对您有帮助,有其他问题欢迎继续提问!
阅读全文