用C语言编程利用指针将10个学生的姓名按英文字母排序。
时间: 2023-06-18 14:07:07 浏览: 139
用指针实现的C语言排序算法
以下是一个简单的 C 语言程序,用于将学生姓名按字母顺序排序:
```c
#include <stdio.h>
#include <string.h>
#define MAX_NAME_LENGTH 50
#define NUM_STUDENTS 10
void sort_names(char **names, int num_names);
int main() {
char *names[NUM_STUDENTS] = {"Alice", "Bob", "Charlie", "David", "Eve", "Frank", "Grace", "Harry", "Ivy", "Jack"};
int i;
printf("Original names:\n");
for (i = 0; i < NUM_STUDENTS; i++) {
printf("%s\n", names[i]);
}
sort_names(names, NUM_STUDENTS);
printf("\nSorted names:\n");
for (i = 0; i < NUM_STUDENTS; i++) {
printf("%s\n", names[i]);
}
return 0;
}
void sort_names(char **names, int num_names) {
int i, j;
char *temp;
for (i = 0; i < num_names - 1; i++) {
for (j = i + 1; j < num_names; j++) {
if (strcmp(names[i], names[j]) > 0) {
temp = names[i];
names[i] = names[j];
names[j] = temp;
}
}
}
}
```
这个程序使用指向指针的指针(`char **`)来存储学生姓名。在 `sort_names` 函数中,我们使用标准库函数 `strcmp` 来比较两个字符串的大小,并使用一个临时指针变量来交换两个指针。
阅读全文