采用指针交量作为形参,编写一个实现两个整数交换的函数,在主函数中输入3个整数,调用数据交换函数将它们按从大到小的顺序排序后输出。()
时间: 2024-02-28 19:52:43 浏览: 110
c代码-1. 功能:输入三个整数x,y,z,请把这三个数由小到大输出。
5星 · 资源好评率100%
以下是实现两个整数交换并按从大到小排序的代码:
```c++
#include <iostream>
using namespace std;
void swap(int *a, int *b) {
int temp = *a;
*a = *b;
*b = temp;
}
void sort(int *a, int *b, int *c) {
if (*a > *b) swap(a, b);
if (*b > *c) swap(b, c);
if (*a > *b) swap(a, b);
}
int main() {
int a, b, c;
cout << "请输入三个整数:";
cin >> a >> b >> c;
sort(&a, &b, &c);
cout << "按从大到小的顺序输出为:" << c << " " << b << " " << a << endl;
return 0;
}
```
解释一下代码的思路:
- `swap` 函数实现两个整数的交换,使用指针作为形参,通过 `*` 取出指针指向的值进行交换;
- `sort` 函数按从小到大排序三个整数,使用 `swap` 函数交换,最后三个整数就按从小到大排好序了;
- 在 `main` 函数中,输入三个整数,调用 `sort` 函数进行排序,然后按从大到小的顺序输出即可。需要注意的是,传递给 `sort` 函数的参数是三个整数变量的地址,即指针,使用 `&` 取得地址。
运行程序,输入 `5 3 9`,输出结果为:
```
请输入三个整数:5 3 9
按从大到小的顺序输出为:9 5 3
```
程序成功实现了两个整数交换并按从大到小排序的功能。
阅读全文