输入3个字符串,按从小到大顺序输出。(用指针方法处理)借助冒泡排序
时间: 2023-10-31 13:29:42 浏览: 263
将若干字符串按字母顺序由小到大输出。-C++程序设计课件 谭浩强 编著版
好的,我们也可以借助冒泡排序来实现字符串的排序。代码如下:
```c
#include <stdio.h>
#include <string.h>
void sort_strings(char *str1, char *str2, char *str3);
int main() {
char str1[100], str2[100], str3[100];
printf("请输入三个字符串,以空格分隔:\n");
scanf("%s %s %s", str1, str2, str3);
sort_strings(str1, str2, str3);
printf("按从小到大顺序排序后的字符串为:\n");
printf("%s\n%s\n%s\n", str1, str2, str3);
return 0;
}
void sort_strings(char *str1, char *str2, char *str3) {
char *temp;
int i, j;
char *arr[3] = {str1, str2, str3}; // 构建字符串指针数组
for (i = 0; i < 2; i++) {
for (j = i + 1; j < 3; j++) {
if (strcmp(arr[i], arr[j]) > 0) {
temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
}
str1 = arr[0];
str2 = arr[1];
str3 = arr[2];
}
```
这个程序首先使用 `scanf` 函数从用户处输入三个字符串,然后调用 `sort_strings` 函数对它们进行排序。在 `sort_strings` 函数中,我们使用字符串指针数组来存储三个字符串,然后使用冒泡排序算法对它们进行排序,最后返回排序后的字符串。最后,主函数输出排序后的字符串。
阅读全文