C语言,用指针方法编写两个程序。第一个程序,将 3 个整数按由小到大进行排序。在主函数中输入 3 个整数,通过调用该函数实现排序,再输出排序的结果。 第二个程序,若要实现将输入的 3 句字符串按由小到大进行排序,该如何编写?
时间: 2024-03-14 16:44:01 浏览: 63
第一个程序的代码与上一个回答相同,这里不再重复。下面给出第二个程序的代码:
```c
#include <stdio.h>
#include <string.h>
void sort_strings(char **str1, char **str2, char **str3) {
char *tmp;
if (strcmp(*str1, *str2) > 0) {
tmp = *str1;
*str1 = *str2;
*str2 = tmp;
}
if (strcmp(*str1, *str3) > 0) {
tmp = *str1;
*str1 = *str3;
*str3 = tmp;
}
if (strcmp(*str2, *str3) > 0) {
tmp = *str2;
*str2 = *str3;
*str3 = tmp;
}
}
int main() {
char str1[100], str2[100], str3[100];
char *p1 = str1, *p2 = str2, *p3 = str3;
printf("请输入三个字符串:\n");
scanf("%s%s%s", str1, str2, str3);
sort_strings(&p1, &p2, &p3);
printf("排序后的结果为:%s %s %s\n", str1, str2, str3);
return 0;
}
```
这里用到了指向指针的指针,来实现字符串的排序。
阅读全文