编程:将数组array中n个整数按照逆序重新存放。要求实参使用数组名,形参使用指针变量。

如题所述

C可以这么写——

#include "stdio.h"
#define N 10
void fun(int *p,int n){//倒置函数
int i,k;
for(n--,i=0;i<n;i++,n--)
k=p[i],p[i]=p[n],p[n]=k;
}
int main(int argc,char *argv[]){
int array[N],i;
for(i=0;i<N;printf("%d ",array[i++]=i+1));//给数组赋值
fun(array,N);//调用倒置函数
printf("\nAfter the inverted output is as follows:\n");
for(i=0;i<N;printf("%d ",array[i++]));//输出倒置后的结果
printf("\n");
return 0;
}

运行结果:

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-06-10

#include
void rev(int *p,int n)
{ int i,j,t;
for(i=0,j=n-1; i<j; i++,j--)
{ t=p[i];
p[i]=p[j];
p[j]=t;
}
}
int main()
{ int i,n=8,a[8]= {1,2,3,4,5,6,7,8};
rev(a,n);
for(i=0; i<n; i++)
printf("%d ",a[i]);
return 0;
}

相似回答