对一个序列A中的元素A[1]~A[i],令i从1到n枚举,进行n趟操作,每趟从待排序部分[i,n]中选择最小的元素,令其与待排序部分的第一个元素A[i]进行交换。n趟区间后,所有元素会是有序的。

枚举,最小的放在第一个,先比再排。

#include <cstdio>

int main(){
    int a[10];
    for(int i=0;i<10;i++){
        scanf("%d",&a[i]);
    }

    for(int i=0;i<10;i++){
        for(int j=i+1;j<10;j++){
            if(a[i]<a[j]){
                int k=a[i];
                a[i]=a[j];
                a[j]=k;
            }
        }
    }

    for(int i=0;i<10;i++){
        printf("%5d",a[i]);
    }
}

标签: none

添加新评论