分别编写4个c++程序完成以下任务:定义长度为3的整型数组,采用函数调用实现按照从大到小的顺序排序。在主函数中输出排序前和排序后的数组。按以下四种方法实现: (1)实参、形参为数组名; (2)实参为数组名,形参为指针变量; (3)实参为指针变量,形参为数组名; (4)实参为指针变量,形参为指针变量。
时间: 2024-03-20 22:43:51 浏览: 64
西南交通大学计算机程序设计基础-实验8-C++.docx
5星 · 资源好评率100%
以下是四个 C++ 程序,分别采用不同的方法实现按从大到小排序:
方法一:实参、形参为数组名
```cpp
#include <iostream>
using namespace std;
void sortArray(int arr[]) {
int temp;
for (int i = 0; i < 3; i++) {
for (int j = i + 1; j < 3; j++) {
if (arr[i] < arr[j]) {
temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
}
}
int main() {
int arr[3] = {3, 1, 2};
cout << "排序前的数组:";
for (int i = 0; i < 3; i++) {
cout << arr[i] << " ";
}
cout << endl;
sortArray(arr);
cout << "排序后的数组:";
for (int i = 0; i < 3; i++) {
cout << arr[i] << " ";
}
cout << endl;
return 0;
}
```
方法二:实参为数组名,形参为指针变量
```cpp
#include <iostream>
using namespace std;
void sortArray(int *arr) {
int temp;
for (int i = 0; i < 3; i++) {
for (int j = i + 1; j < 3; j++) {
if (*(arr + i) < *(arr + j)) {
temp = *(arr + i);
*(arr + i) = *(arr + j);
*(arr + j) = temp;
}
}
}
}
int main() {
int arr[3] = {3, 1, 2};
cout << "排序前的数组:";
for (int i = 0; i < 3; i++) {
cout << arr[i] << " ";
}
cout << endl;
sortArray(arr);
cout << "排序后的数组:";
for (int i = 0; i < 3; i++) {
cout << arr[i] << " ";
}
cout << endl;
return 0;
}
```
方法三:实参为指针变量,形参为数组名
```cpp
#include <iostream>
using namespace std;
void sortArray(int arr[]) {
int temp;
for (int i = 0; i < 3; i++) {
for (int j = i + 1; j < 3; j++) {
if (arr[i] < arr[j]) {
temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
}
}
int main() {
int arr[3] = {3, 1, 2};
int *p = arr;
cout << "排序前的数组:";
for (int i = 0; i < 3; i++) {
cout << *(p + i) << " ";
}
cout << endl;
sortArray(p);
cout << "排序后的数组:";
for (int i = 0; i < 3; i++) {
cout << *(p + i) << " ";
}
cout << endl;
return 0;
}
```
方法四:实参为指针变量,形参为指针变量
```cpp
#include <iostream>
using namespace std;
void sortArray(int *arr) {
int temp;
for (int i = 0; i < 3; i++) {
for (int j = i + 1; j < 3; j++) {
if (*(arr + i) < *(arr + j)) {
temp = *(arr + i);
*(arr + i) = *(arr + j);
*(arr + j) = temp;
}
}
}
}
int main() {
int arr[3] = {3, 1, 2};
int *p = arr;
cout << "排序前的数组:";
for (int i = 0; i < 3; i++) {
cout << *(p + i) << " ";
}
cout << endl;
sortArray(p);
cout << "排序后的数组:";
for (int i = 0; i < 3; i++) {
cout << *(p + i) << " ";
}
cout << endl;
return 0;
}
```
阅读全文