编写函数invert,将数组中的n个整数按相反顺序存放,要求用指针变量作为函数形参,并用指针的方法遍历该数组。
在main函数中输入n个整数,存入数组a中;然后调用上述函数处理数组a,最后逐个输出数组a中的元素。
输入
输入包含两行:
第一行是n(1 <= n <= 1000)。
第二行是n个整数,邻近两数之间用一个空格隔开。
输出
输出逆序存放后的数组,邻近两数之间用一个空格隔开。
输入示例
5
15 20 4 7 -18
输出示例
-18 7 4 20 15
数据范围
输入和输出均为int范围的整数
#include <stdio.h>
#include <stdlib.h>
int main(){
int a[1000];
int i,n;
scanf("%d",&n);
for(i=0;i<n;i++){
scanf("%d",&a[i]);
}
invert(a,n);
for(i=0;i<n;i++){
printf("%d ",a[i]);
}
return 0;
}
void invert(int *a,int n){
int *p=NULL;
int x,i,tmp,b[n];
x=n-1;
for(i=0;i<n;i++){
b[i]=a[i];
}
for(p=a;p<a+n;p++){
*p=b[x];
x=x-1;
}
}