编写一个子函数G(int *m, int n),要求将指针m指向的长度为n的序列按逆序排列。主函数输入该n个数的序列,n的值可变但不大于10,当输入的数等于1000或者输入的数超过10个时,结束输入。调用子函数调整并在主函数中输出该序列。
#include<stdio.h>
int main()
{
void G(int *m,int n);
int i,n,*m,num[10];
for(i=0;i<10;i++){
scanf("%d",&num[i]);
n=i+1;
if(num[i]==1000)break;
}
m=&num[0];
G(m,n);
for(i=0;i<n;i++)
printf("%5d",m[i]);
printf("\n");
return 0;
}
void G(int *m,int n)
{
int i,t,*m1,*m2;
for(i=0;i<n/2;i++){
m1=m+i;
m2=m+(n-1-i);
t=*m1;*m1=*m2;*m2=t;
}
}