c++ 编写程序,按照指定长度生成动态数组,用随机数对数组元素进行赋值,然后逆置该数组元素。例如,数组A的初值为{12, 23, 3, 8,10},逆置后的值为{10, 8, 3, 23, 12}。程序的一次运行如下所示,请补充void adverse(int *p,int n)函数的定义,使程序完整。
时间: 2024-01-22 09:20:17 浏览: 125
C++实现将数组中的值反转
下面是完整的程序代码:
```c++
#include <iostream>
using namespace std;
void generateArray(int* p, int n) {
for (int i = 0; i < n; i++) {
p[i] = rand() % 100;
}
}
void printArray(int* p, int n) {
for (int i = 0; i < n; i++) {
cout << p[i] << " ";
}
cout << endl;
}
void reverseArray(int* p, int n) {
int i = 0, j = n - 1;
while (i < j) {
int temp = p[i];
p[i] = p[j];
p[j] = temp;
i++;
j--;
}
}
int main() {
int n;
cout << "请输入数组长度:";
cin >> n;
int* p = new int[n];
generateArray(p, n);
cout << "生成的数组为:";
printArray(p, n);
reverseArray(p, n);
cout << "逆置后的数组为:";
printArray(p, n);
delete[] p;
return 0;
}
void reverseArray(int* p, int n) {
int i = 0, j = n - 1;
while (i < j) {
int temp = p[i];
p[i] = p[j];
p[j] = temp;
i++;
j--;
}
}
```
其中,`generateArray`函数用于生成指定长度的动态数组并用随机数赋值;`printArray`函数用于输出数组的元素;`reverseArray`函数用于逆置数组的元素。在`main`函数中,首先输入数组长度,然后调用`generateArray`函数生成并初始化数组,再调用`reverseArray`函数逆置数组的元素,最后输出逆置后的数组。
注:本程序中的随机数生成使用了C++标准库中的rand函数。由于rand函数的随机性较差,实际应用中可能需要使用更为高效的随机数生成器。
阅读全文