利用指针将10个学生的姓名排序
时间: 2023-11-02 13:00:31 浏览: 31
下面是一个简单的示例程序,可以通过输入10个学生的姓名,使用指针对姓名进行排序:
```c
#include <stdio.h>
#include <string.h>
#define MAX_NAME_LEN 50
#define NUM_STUDENTS 10
void sort_names(char* names[], int n);
int main(void)
{
char* names[NUM_STUDENTS];
char name[MAX_NAME_LEN];
int i;
printf("Enter the names of %d students:\n", NUM_STUDENTS);
for (i = 0; i < NUM_STUDENTS; i++)
{
printf("Name #%d: ", i + 1);
scanf("%s", name);
names[i] = malloc(strlen(name) + 1);
strcpy(names[i], name);
}
sort_names(names, NUM_STUDENTS);
printf("\nSorted names:\n");
for (i = 0; i < NUM_STUDENTS; i++)
{
printf("%s\n", names[i]);
free(names[i]);
}
return 0;
}
void sort_names(char* names[], int n)
{
int i, j;
char* temp;
for (i = 0; i < n - 1; i++)
{
for (j = i + 1; j < n; j++)
{
if (strcmp(names[i], names[j]) > 0)
{
temp = names[i];
names[i] = names[j];
names[j] = temp;
}
}
}
}
```
在这个程序中,我们首先声明一个由指向字符的指针组成的数组 `names`,然后使用 `scanf` 函数从标准输入中获取每个学生的姓名,并将它们存储在动态分配的字符串中。然后,我们调用一个名为 `sort_names` 的函数,该函数使用选择排序算法对姓名进行排序。最后,我们输出排序后的姓名并释放分配的内存。
相关推荐
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)