编写程序,按照指定长度生成动态数组,用随机数对数组元素进行赋值,然后逆置该数组元素。例如,数组A[5]的初值为{6, 3, 7, 8, 2},逆置后的值为{2, 8, 7, 3, 6}。要求:输出逆置前、后的数组元素序列。
#include<iostream> #include <cstdlib> #include<ctime> using namespace std; void printarray(int *p,int n); void adverse(int *p,int n); int main() { int *p,n,i; cout<<"请输入数组长度:"; cin>>n; p=new int [n]; //建立动态数组 srand(int(time(0))); for(i=0;i<n;i++) //产生随机数并存放到动态数组中 *(p+i)=rand()%1000; cout<<"动态数组:"; printarray(p,n); //输出动态数组 adverse(p,n); //对数组逆置 cout<<"逆置数组:"; printarray(p,n); //输出逆置数组 } //输出数组函数 void printarray(int *p,int n) { int i; for( i=0; i<n; i++ ) { if (i % 5==0) cout<<endl; //控制一行输出5个数据 cout<<"ary["<<i<<"]="<<*(p+i)<<"\t"; } cout<<endl; } //对数组逆置函数 void adverse(int *p,int n) { int i,t; for (i=0;i<n/2;i++) { t=*(p+i); *(p+i)=*(p+n-i-1); *(p+n-i-1)=t; } }
这道题你会答吗?花几分钟告诉大家答案吧!
扫描二维码,关注牛客网
下载牛客APP,随时随地刷题