c语言利用指针将10个名字排序
时间: 2024-05-05 08:21:27 浏览: 8
下面是一个简单的示例程序,使用指针将10个名字按字典序排序:
```c
#include <stdio.h>
#include <string.h>
#define NUM_NAMES 10
#define MAX_NAME_LEN 20
void sort_names(char* names[], int num_names);
int main()
{
char* names[NUM_NAMES] = {"Alice", "Bob", "Charlie", "Dave", "Eve", "Frank", "Grace", "Heidi", "Ivan", "Judy"};
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` 函数,该函数使用两重循环对名字进行比较和交换,最终将名字按字典序排序。
最后,程序打印出排序后的名字。