编辑代码

//输出一个正整数n(1<n<=10),再输入n个整数,用选择法将它们从小到大排序后输出
//参照数据结构中的选择排序
#include<stdio.h>
int main(void){                 
    int i,index,k,n,temp;               //i,k都是遍历位置,index记录最小的数的位置,temp用于交换
    int a[10];
    printf("Enter n:");
    fflush(stdout);
    scanf("%d",&n);
    printf("Enter %d integers:",n);
    for (i = 0; i<n ; i++) {
        scanf("%d",&a[i]);               //完成数组a[n],i用来遍历数组
    }
    for (k = 0; k<n-1 ; k++) {
        index=k;            
        for (i = k+1;  i<n ; i++)                   //拿a[k]和a[k+ ]逐个比较,最小的数的位置记录在index,
            if(a[index]>a[i]) index=i;
        {temp=a[k];a[k]=a[index];a[index]=temp;}    //把最小的数放在a[k]位置上,相当于交换a[k]和a[index]的值
    }
    printf("After sorted:");
    for(i=0;i<n;i++){
        printf("%d",a[i]);}
    return 0;
}