输入三个字符串,按照由大到小的顺序输出,要求用指针方法处理。c++
时间: 2023-12-10 11:39:52 浏览: 69
以下是 C++ 的代码实现:
```
#include <iostream>
#include <cstring>
using namespace std;
void sort(char **pp1, char **pp2, char **pp3);
int main()
{
char *p1, *p2, *p3;
char str1[100], str2[100], str3[100];
cout << "请输入三个字符串:" << endl;
cin >> str1 >> str2 >> str3;
p1 = str1;
p2 = str2;
p3 = str3;
sort(&p1, &p2, &p3);
cout << "按照由大到小的顺序输出:" << endl;
cout << p1 << endl;
cout << p2 << endl;
cout << p3 << endl;
return 0;
}
void sort(char **pp1, char **pp2, char **pp3)
{
char *temp;
if (strcmp(*pp1, *pp2) < 0)
{
temp = *pp1;
*pp1 = *pp2;
*pp2 = temp;
}
if (strcmp(*pp1, *pp3) < 0)
{
temp = *pp1;
*pp1 = *pp3;
*pp3 = temp;
}
if (strcmp(*pp2, *pp3) < 0)
{
temp = *pp2;
*pp2 = *pp3;
*pp3 = temp;
}
}
```
首先定义了一个 `sort` 函数,该函数的参数为三个指向字符指针的指针,表示三个字符串的地址。函数内部以字符串比较的方式将三个指针指向的字符串按照由大到小的顺序排序。
在 `main` 函数中,首先定义了三个字符指针 `p1`、`p2` 和 `p3`,并用输入的三个字符串分别初始化它们。然后将它们的地址传递给 `sort` 函数,函数会将它们按照由大到小的顺序排序。最后输出排序后的三个字符串。
阅读全文