使用C++完成此程序:定义长度为3的整型数组,采用函数调用实现按照从大到小的顺序排序。在主函数中输出排序前和排序后的数组。按以下方式实现:实参为指针变量,形参为数组名
时间: 2024-03-20 09:43:51 浏览: 63
好的,以下是代码实现:
```cpp
#include <iostream>
using namespace std;
void swap(int& a, int& b)
{
int temp = a;
a = b;
b = temp;
}
void sort(int arr[])
{
if (arr[0] < arr[1]) {
swap(arr[0], arr[1]);
}
if (arr[0] < arr[2]) {
swap(arr[0], arr[2]);
}
if (arr[1] < arr[2]) {
swap(arr[1], arr[2]);
}
}
int main()
{
int arr[3];
cout << "请输入三个整数: ";
cin >> arr[0] >> arr[1] >> arr[2];
cout << "排序前的数组为: ";
for (int i = 0; i < 3; i++) {
cout << arr[i] << " ";
}
cout << endl;
sort(&arr[0]);
cout << "排序后的数组为: ";
for (int i = 0; i < 3; i++) {
cout << arr[i] << " ";
}
cout << endl;
return 0;
}
```
首先,定义了一个 `swap` 函数用于交换两个整数的值。接着,定义了一个 `sort` 函数,采用形参为数组名的方式,实现对长度为3的整型数组按从大到小顺序排序。在 `sort` 函数中,使用了三个 `if` 语句,分别比较三个数的大小,并调用 `swap` 函数实现交换。最后,在 `main` 函数中,定义了一个长度为3的整型数组,从键盘上输入三个整数,并调用 `sort` 函数进行排序,输出排序前和排序后的数组。需要注意的是,在调用 `sort` 函数时,实参为指针变量 `&arr[0]`,即数组的首地址。
阅读全文