C语言利用指针将10个学生的姓名排序。
时间: 2024-05-11 19:19:25 浏览: 85
用指针实现的C语言排序算法
下面是一个用C语言利用指针将10个学生的姓名排序的示例代码:
```c
#include <stdio.h>
#include <string.h>
#define MAX_NAME_LEN 50
void sort_names(char *names[], int n);
int main() {
char *names[] = {"Alice", "Bob", "Charlie", "David", "Emma",
"Frank", "Grace", "Henry", "Ivy", "John"};
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) {
for (int i = 0; i < n-1; i++) {
for (int j = i+1; j < n; j++) {
if (strcmp(names[i], names[j]) > 0) {
char *temp = names[i];
names[i] = names[j];
names[j] = temp;
}
}
}
}
```
这个程序中,我们首先定义了一个字符串指针数组`names`,存储了10个学生的姓名。然后,我们调用`sort_names`函数将这10个姓名按字典序排序。排序函数的实现过程中,我们利用`strcmp`函数比较两个字符串的大小关系,然后通过交换指针的方式实现字符串的排序。最后,我们在主函数中输出排好序的姓名列表。
阅读全文