c语言利用指针将10个姓名排序
时间: 2024-04-30 12:18:49 浏览: 68
下面是一个例子,它使用指针对10个字符串进行排序:
```c
#include <stdio.h>
#include <string.h>
#define NUM_NAMES 10
#define MAX_NAME_LENGTH 20
void sort_names(char **names, int num_names);
int main() {
char *names[NUM_NAMES] = {"Alice", "Bob", "Charlie", "David", "Eve", "Frank", "Grace", "Heidi", "Ivan", "Julia"};
sort_names(names, NUM_NAMES);
printf("Sorted names:\n");
for (int i = 0; i < NUM_NAMES; i++) {
printf("%s\n", names[i]);
}
return 0;
}
void sort_names(char **names, int num_names) {
char *temp;
for (int i = 0; i < num_names - 1; i++) {
for (int j = i + 1; j < num_names; j++) {
if (strcmp(names[i], names[j]) > 0) {
temp = names[i];
names[i] = names[j];
names[j] = temp;
}
}
}
}
```
在这个例子中,我们首先定义了一个指向字符串指针的数组 `names`,其中包含10个字符串,然后将该数组传递给函数 `sort_names` 进行排序。在函数中,我们使用两个嵌套循环来比较字符串并交换它们的位置,以实现排序。最终结果将在 `main` 函数中打印出来。
阅读全文