【C++】将若干个整数按输入顺序的逆序排列,要求应用带指针参数的函数实现

来源:百度知道 编辑:UC知道 时间:2024/05/26 11:06:42
例如,输入
3 54 0 3 -4 4
输出
4 -4 3 0 54 3
很多人搞的都是C,而我要的是C++,带"stdio.h”我看都不看。

楼上的懂不懂楼主的意思,人家问的是C++,不是C,而且明显是不提供数组大小的 ,不过我这个有一点不好就是要用0结束输入,所以你的题目还没完全办到,先给你个半成品,过会儿我再改进一下

不过,向量有提供交换函数,用指针有麻烦又不安全

#include<iostream>
#include<vector>
using namespace std;
void main()
{
vector<int> va;
int *pt;
cout<<"输入"<<endl;
for(int a;cin>>a,a!=0;) //这里是设置循环结束条件,输入0结束
va.push_back(a);//扩容
pt=&va[0];
void oswap(int *p,int n);
oswap(pt,va.size());

for(int i=0;i<va.size();i++)//打印
cout<<*(pt+i)<<" ";
}
void oswap(int *p,int n)
{
int t;
for(int i=0;i<n/2;i++)//交换,注意这里的循环结束条件
{
t=*(p+i);
*(p+i)=*(p+n-1-i);
*(p+n-1-i)=t;
}
}

#include<stdio.h>
main(){
int i=0,j=0,n;
int Array[100];
int *p=Array;
void DisplayData(int *,int );
printf("输入数组的大小:");
scanf("%d",&n);