利用指针将 10 个学生的姓名排序
时间: 2024-05-02 10:23:09 浏览: 25
下面是一个利用指针将 10 个学生姓名排序的示例代码:
```c
#include <stdio.h>
#include <string.h>
#define MAX_NAME_LEN 50
int main() {
char names[10][MAX_NAME_LEN];
char *p[10];
// 读取学生姓名
for (int i = 0; i < 10; i++) {
printf("请输入第%d个学生的姓名:", i + 1);
scanf("%s", names[i]);
p[i] = names[i];
}
// 对学生姓名进行排序
for (int i = 0; i < 9; i++) {
for (int j = i + 1; j < 10; j++) {
if (strcmp(p[i], p[j]) > 0) {
char *temp = p[i];
p[i] = p[j];
p[j] = temp;
}
}
}
// 输出排序后的学生姓名
printf("排序后的学生姓名为:\n");
for (int i = 0; i < 10; i++) {
printf("%s\n", p[i]);
}
return 0;
}
```
这段代码首先定义了一个数组 `names`,用于存储 10 个学生的姓名,每个姓名不超过 `MAX_NAME_LEN` 个字符。然后定义了一个指针数组 `p`,用于存储 `names` 中每个学生姓名的地址。
接着通过循环读取每个学生的姓名,并将其地址存储到 `p` 中。
最后使用冒泡排序对 `p` 中的学生姓名进行排序,排序完成后输出排序后的学生姓名即可。
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)