这道题要求编写一个函数,输入三个整数a、b、c,按照从大到小的顺序输出。需要考虑用函数处理,并且使用指针类型的数据作为函数参数。用c++实现
时间: 2024-02-23 08:58:05 浏览: 66
好的,我理解了你的问题。以下是代码实现:
```c++
#include <iostream>
using namespace std;
void order(int *a, int *b, int *c) {
if (*a < *b) {
int temp = *a;
*a = *b;
*b = temp;
}
if (*a < *c) {
int temp = *a;
*a = *c;
*c = temp;
}
if (*b < *c) {
int temp = *b;
*b = *c;
*c = temp;
}
}
int main() {
int a, b, c;
cout << "请输入三个整数:";
cin >> a >> b >> c;
order(&a, &b, &c);
cout << "从大到小的顺序输出为:" << a << " " << b << " " << c << endl;
return 0;
}
```
解释一下代码的思路:
- `order` 函数接收三个指针类型的参数,即 `int *a, int *b, int *c`,表示要排序的三个整数。
- 首先比较 `a` 和 `b` 的大小,如果 `a` 小于 `b`,就交换它们的值。然后再比较 `a` 和 `c` 的大小,如果 `a` 小于 `c`,就交换它们的值。最后再比较 `b` 和 `c` 的大小,如果 `b` 小于 `c`,就交换它们的值。这样就可以保证 `a` 是三个数中最大的,`c` 是最小的。
- 在 `main` 函数中,先输入三个整数 `a`、`b`、`c`,然后调用 `order` 函数,传入它们的地址。最后输出排序后的结果。
希望能够帮助到你。
阅读全文