c语言输入三个字符串从小到大排序要求用函数和指针输出
时间: 2023-10-10 18:14:53 浏览: 137
下面是一个用 C 语言编写的程序,可以输入三个字符串并按字典序从小到大排序。
```c
#include <stdio.h>
#include <string.h>
void sort(char **p1, char **p2, char **p3);
int main()
{
char str1[100], str2[100], str3[100];
char *p1, *p2, *p3;
printf("请输入三个字符串:\n");
scanf("%s%s%s", str1, str2, str3);
p1 = str1;
p2 = str2;
p3 = str3;
sort(&p1, &p2, &p3);
printf("排序后的结果为:\n");
printf("%s\n%s\n%s\n", p1, p2, p3);
return 0;
}
void sort(char **p1, char **p2, char **p3)
{
char *tmp;
if (strcmp(*p1, *p2) > 0)
{
tmp = *p1;
*p1 = *p2;
*p2 = tmp;
}
if (strcmp(*p1, *p3) > 0)
{
tmp = *p1;
*p1 = *p3;
*p3 = tmp;
}
if (strcmp(*p2, *p3) > 0)
{
tmp = *p2;
*p2 = *p3;
*p3 = tmp;
}
}
```
在这个程序中,sort 函数接收三个指向字符数组的指针,然后使用 strcmp 函数比较字符串的大小,从而将它们按照字典序从小到大排序。在主函数中,我们先定义三个字符数组和三个指向字符数组的指针,并使用 scanf 函数读入三个字符串。然后将这三个指针传递给 sort 函数进行排序,并最终输出排序后的结果。
阅读全文