#include <stdio.h>
int main(){
int *p,m;
int i,num[250];
void score(int *p,int m);
printf("要输入几个数据?\n");
scanf("%d",&m);
printf("请输入%d个数据:\n",m);
for(i=0;i<m;i++){
scanf("%d",&num[i]);
}
p=&num[0];
score(p,m);
printf("逆序排序后的数据:");
for(i=0;i<m;i++){
printf("%d",num[i]);
}
return 0;
}
/*逆序排列相当于将第一个数据和最后一个分为一组并调换(需要中间变量),以此类推
函数不需要返回值。且需要传递指针变量以及对应数据的长度
*/
void score (int *p, int m){
int temp,*p1,p2;
//让p1指向第一个元素
p1=p;
//让p2指向最后一个元素
p2=p+m-1;
//使用while循环,当p1<p2时进入循环并交换对应的值
/*for(i=0;i<m/2;i++){
temp=*p1;
*p1=*p2;
p2=temp;
p1++;
p2--;
}/
while(p1<p2){
temp=*p1;
*p1=*p2;
*p2=temp;
p1++;
p2--;
}
}