输入五个名字,按拼音首字母大小从小到大排列后输出。要求从小到大排列部分用指针表示。
时间: 2024-03-14 10:45:41 浏览: 9
好的,这是一个比较简单的排序问题。我可以为您提供一个C语言的示例代码:
```c
#include <stdio.h>
#include <string.h>
#define MAX_NAME_LENGTH 50
#define MAX_NAMES_COUNT 5
void sort_names(char** names, int count);
int main()
{
char names[MAX_NAMES_COUNT][MAX_NAME_LENGTH];
char* name_ptrs[MAX_NAMES_COUNT];
int i;
printf("请输入五个名字:\n");
for (i = 0; i < MAX_NAMES_COUNT; i++) {
scanf("%s", names[i]);
name_ptrs[i] = names[i];
}
sort_names(name_ptrs, MAX_NAMES_COUNT);
printf("排序结果为:\n");
for (i = 0; i < MAX_NAMES_COUNT; i++) {
printf("%s\n", name_ptrs[i]);
}
return 0;
}
void sort_names(char** names, int count)
{
int i, j;
char* temp;
for (i = 0; i < count - 1; i++) {
for (j = i + 1; j < count; j++) {
if (strcmp(names[i], names[j]) > 0) {
temp = names[i];
names[i] = names[j];
names[j] = temp;
}
}
}
}
```
这个程序首先从标准输入读取五个名字,然后按照拼音首字母的大小从小到大排列,最后输出排序结果。
在排序函数 `sort_names` 中,我们使用了指向指针的指针 `char**`,这样可以直接修改指针数组中元素的值,从而实现排序。