使用c++完成此程序:定义长度为10的整型数组,调用函数f1对该数组元素赋值(要求实参、形参均为指针变量),调用函数f2对其进行由小到大的排序(要求实参为数组名、形参为指针变量)。在主函数中输出排序前和排序后的数组。
时间: 2024-03-02 16:51:17 浏览: 77
好的,下面是C++的代码:
```c++
#include <iostream>
using namespace std;
void f1(int* pArr) {
cout << "请输入10个整数:" << endl;
for (int i = 0; i < 10; i++) {
cin >> *(pArr + i);
}
}
void f2(int arr[], int* pArr) {
for (int i = 0; i < 10; i++) { // 将数组元素赋值给指针变量
*(pArr + i) = arr[i];
}
for (int i = 0; i < 9; i++) { // 冒泡排序
for (int j = 0; j < 9 - i; j++) {
if (*(pArr + j) > *(pArr + j + 1)) {
int temp = *(pArr + j);
*(pArr + j) = *(pArr + j + 1);
*(pArr + j + 1) = temp;
}
}
}
}
int main() {
int arr[10], sortedArr[10];
f1(arr);
f2(arr, sortedArr);
cout << "排序前的数组为:" << endl;
for (int i = 0; i < 10; i++) {
cout << arr[i] << " ";
}
cout << endl;
cout << "排序后的数组为:" << endl;
for (int i = 0; i < 10; i++) {
cout << sortedArr[i] << " ";
}
cout << endl;
return 0;
}
```
在上面的代码中,`f1` 函数接收一个指向整型数组的指针变量 `pArr`,通过循环读入用户输入的10个整数,并将其赋值给数组元素。`f2` 函数接收一个整型数组 `arr` 和一个指向整型数组的指针变量 `pArr`,首先将数组元素赋值给指针变量,然后采用冒泡排序将指针变量中的元素按照从小到大的顺序排列。在 `main` 函数中,首先定义一个长度为10的整型数组 `arr` 和一个长度为10的整型数组 `sortedArr`,并调用函数 `f1` 对数组元素进行赋值。然后调用函数 `f2` 对数组元素进行排序,并将排序后的结果存储到数组 `sortedArr` 中。最后输出排序前和排序后的数组。
阅读全文