C Language Programming-Pointer-Selection Method to Sort n Numbers

Code area

#include<stdio.h>
#define N 5  //此处可以自由设定排序的个数
void sort(int *p,int n)
{
 int i,j,k,t;
 for(i=0;i<n-1;i++)
 {
  k=i;
  for(j=i+1;j<n;j++)
  {
  if(*(p+j)>*(p+k))   //可以改变大于号,然后改变排序后的结果
  k=j;
  }
  if(k!=i)
  {
  t=*(p+i);
  *(p+i)=*(p+k);
  *(p+k)=t;
  }
 }
}

main()
{
 int i,j;
 int a[N],*p=a;
 printf("input N numbers\n");
 for(p=a;p<a+N;p++)
 {
  scanf("%d",p);
 }
 p=a;   //一定要重新指回
 sort(p,N);
 printf("now,these numbers are from big to small\n");
 for(p=a;p<a+N;p++)
 {
 printf("%d  ",*p);
 }
}
Published 57 original articles · Liked 54 · Visits 2356

Guess you like

Origin blog.csdn.net/September_C/article/details/104959569