#include <stdio.h>

//声明选择排序的函数
void sort(int*array,int n);

//主函数
int main() {
    int n;
    int i;
    scanf("%d",&n);
    int num[n];
    
  	//输入数组
  	for(i=0;i<n;i++)
        scanf("%d",&num[i]);

    sort(num,n);
    
    for(i=0;i<n;i++){
            printf("%d ",num[i]);
    }
        
    return 0;
}

//选择排序的函数
void sort(int*array,int n){
    int*top=array;
    int*seek=top+1;
    int cot;
    while(top-array<n-1){
        seek=top+1;
        while(seek-array<n){
            if(*top>*seek){
                int temp=*top;
                *top=*seek;
                *seek=temp;
            }
            seek++;
        }
        top++;
    }
}

通过两个while函数遍历数组中的数字进行排序。

第一个while控制top指针的移动;第二个while控制seek指针的移动,seek每次移动后都与top指针所指的值进行比较,如果top指针所指的值更大,则进行交换。经过n-1次遍历后,便能得到最后的排序结果。