C语言. 利用指针将10个学生的姓名排序
时间: 2023-11-02 21:08:50 浏览: 100
下面是一个利用指针将10个学生姓名排序的示例代码:
```c
#include <stdio.h>
#include <string.h>
#define MAX_NAME_LEN 20
#define MAX_STUDENT_NUM 10
void sort_names(char **names, int n);
int main() {
char *names[MAX_STUDENT_NUM] = {
"Alice",
"Bob",
"Charlie",
"David",
"Eva",
"Frank",
"Grace",
"Henry",
"Ivy",
"Jack"
};
int n = sizeof(names) / sizeof(names[0]);
sort_names(names, n);
printf("Sorted names:\n");
for (int i = 0; i < n; i++) {
printf("%s\n", names[i]);
}
return 0;
}
void sort_names(char **names, int n) {
char *temp_name;
for (int i = 0; i < n - 1; i++) {
for (int j = i + 1; j < n; j++) {
if (strcmp(names[i], names[j]) > 0) {
temp_name = names[i];
names[i] = names[j];
names[j] = temp_name;
}
}
}
}
```
在本示例中,我们定义了一个 `char *names[MAX_STUDENT_NUM]` 数组,用于存储10个学生的姓名。然后,我们定义了一个 `sort_names` 函数来对这些姓名进行排序。该函数使用两个嵌套的循环来比较每对姓名,并在必要时交换它们的位置,以便按字母顺序排序。在 `main` 函数中,我们调用 `sort_names` 函数来对学生姓名进行排序,并使用循环打印出排序后的姓名列表。