c语言编程.利用指针将10个学生的姓名排序。
时间: 2023-09-20 07:03:28 浏览: 68
下面是一个简单的示例代码,可以将10个学生的姓名按字典序排序:
```c
#include <stdio.h>
#include <string.h>
#define MAX_NAME_LENGTH 20 // 假设姓名最长不超过20个字符
void sort_names(char *names[], int len);
int main() {
char *names[] = {"John", "Mary", "Tom", "Jerry", "Bob", "Alice", "David", "Sue", "Peter", "Lisa"};
int len = sizeof(names) / sizeof(names[0]);
sort_names(names, len);
printf("The sorted names are:\n");
for (int i = 0; i < len; i++) {
printf("%s\n", names[i]);
}
return 0;
}
void sort_names(char *names[], int len) {
char *temp;
for (int i = 0; i < len - 1; i++) {
for (int j = i + 1; j < len; j++) {
if (strcmp(names[i], names[j]) > 0) {
temp = names[i];
names[i] = names[j];
names[j] = temp;
}
}
}
}
```
上面的代码中,`names` 是一个指向指针的数组,每个指针指向一个字符串,即学生姓名。`sort_names` 函数使用冒泡排序算法对 `names` 数组进行排序。排序时使用 `strcmp` 函数比较字符串的大小关系。最后在 `main` 函数中打印排序后的结果。
阅读全文