输入三个字符串从小到大排序用指针和函数实现
时间: 2023-12-10 10:38:52 浏览: 95
用指针数组的方法将字符串排序
可以使用指针和函数实现字符串排序,具体步骤如下:
1. 编写函数 `sortStrings`,该函数接收三个指向字符数组的指针,用于存储三个字符串。
2. 在 `sortStrings` 函数中,使用字符串比较函数 `strcmp` 将三个字符串进行排序,排序后的结果存储在原有的指针中。
3. 在 `main` 函数中,定义三个字符数组,用于存储输入的三个字符串。
4. 调用 `sortStrings` 函数,将三个字符数组的指针作为参数传入。
5. 打印排序后的三个字符串。
以下是示例代码:
```c
#include <stdio.h>
#include <string.h>
void sortStrings(char **s1, char **s2, char **s3) {
char *temp;
if (strcmp(*s1, *s2) > 0) {
temp = *s1;
*s1 = *s2;
*s2 = temp;
}
if (strcmp(*s2, *s3) > 0) {
temp = *s2;
*s2 = *s3;
*s3 = temp;
}
if (strcmp(*s1, *s2) > 0) {
temp = *s1;
*s1 = *s2;
*s2 = temp;
}
}
int main() {
char str1[50], str2[50], str3[50];
char *s1, *s2, *s3;
printf("请输入三个字符串:\n");
scanf("%s%s%s", str1, str2, str3);
s1 = str1;
s2 = str2;
s3 = str3;
sortStrings(&s1, &s2, &s3);
printf("排序后的结果为:\n");
printf("%s\n%s\n%s\n", s1, s2, s3);
return 0;
}
```
在这个示例代码中,我们使用了指针来存储三个字符串,然后将这些指针作为参数传递给 `sortStrings` 函数,该函数使用 `strcmp` 函数来比较字符串,并根据比较结果来交换字符串的位置,最终实现了字符串的排序。
阅读全文