随机三个数指针变量中降序排列
时间: 2024-02-20 08:56:02 浏览: 21
好的,这个问题可以使用指针和简单的排序算法来解决。下面是一段C++代码示例:
```c++
#include <iostream>
using namespace std;
void sort_desc(int* a, int* b, int* c) {
if (*a < *b) {
swap(*a, *b);
}
if (*a < *c) {
swap(*a, *c);
}
if (*b < *c) {
swap(*b, *c);
}
}
int main() {
int x = 5, y = 3, z = 8;
int* ptr_x = &x;
int* ptr_y = &y;
int* ptr_z = &z;
sort_desc(ptr_x, ptr_y, ptr_z);
cout << *ptr_x << " " << *ptr_y << " " << *ptr_z << endl;
return 0;
}
```
上述代码中,我们定义了三个整数变量 `x`、`y`、`z`,并定义了三个指针变量 `ptr_x`、`ptr_y`、`ptr_z` 分别指向它们。然后,我们调用 `sort_desc` 函数,将三个指针作为参数传入,函数会按照降序排列修改指针指向的变量的值。
在 `sort_desc` 函数中,我们使用三次比较和交换来实现降序排列。首先比较 `a` 和 `b`,如果 `a` 比 `b` 小,则交换它们的值。然后比较 `a` 和 `c`,如果 `a` 比 `c` 小,则交换它们的值。最后比较 `b` 和 `c`,如果 `b` 比 `c` 小,则交换它们的值。这样,经过三次比较和交换,`a`、`b`、`c` 的值就按照降序排列了。
最后,我们在 `main` 函数中调用 `sort_desc` 函数,并输出三个指针指向的变量的值,即可得到降序排列的结果。