#include <stdio.h>
#define N 4
void main()
{
void sort(int *p,int n);
int *p,i,a[N],m,n,j,*p1,*p2,temp;
p=a;
printf("请输入整数:\n");
for(i=0;i<N;i++)
scanf("%d",p++);
p=a;
sort(p,N);
for(p=a,i=0;i<N;i++,p++)
printf("%d ",*p);
printf("\n");
printf("请输入m和n:\n");
scanf("%d%d",&m,&n);
p1=a+m-1;
p2=a+m+n-2;
for(;p1<a+m-1+n/2;p1++,p2--)
{temp=*p1;*p1=*p2;*p2=temp;}
for(j=0;j<N;j++)
printf("%d ",a[j]);
printf("\n");
}
void sort(int *x,int n)
{
int i,j,k,t;
for(i=0;i<n-1;i++)
{
k=i;
for(j=i+1;j<n;j++)
if(*(x+j)<*(x+k))
k=j;
if(k!=i)
{
t=*(x+i);
*(x+i)=*(x+k);
*(x+k)=t;
}
}
}
选择法升序排序数组并指定m位置开始n个数逆置
最新推荐文章于 2023-01-11 09:51:47 发布