对10个数进行排序

时间:2014-11-03 19:22:56   收藏:0   阅读:200

选择排序的思路入下:

设有10个元素a[0]~a[10],将a[1]与a[2]~a[10]比较,若a[1]比a[2]~a[10]都小,则不进行交换,即无任何操作。若a[2]~a[10]中有一个以上比a[1]小,则将其中最大的一个(假设为a[i]与a[1]交换,此时a[1]中存放了10个中最小的数。第2轮将a[2]与a[3]~a[10]比较,将剩下9个数中的最小者a[i]与a[2]对换,此时a[2]中存放的是10个中第2小的书。以此类推,共进行9轮比较,a[1]~a[10]就已按油小到大的顺序存放了)

代码如下:

#include <stdio.h>

int main()
{
    int i,j,min,temp,a[11];
    printf("enter data:\n");
    for(i=1;i<=10;i++)
    {
        printf("a[%d]=",i);
        scanf("%d",&a[i]);
    }
    printf("\n");
    printf("the origina numbers :\n");
    for(i=1;i<10;i++)
    printf("%5d",a[i]);
    printf("\n");
    for(i=1;i<=0;i++)
    {
        min=i;
        for(j=i+1;j<=10;j++)
        if(a[min]>a[j])
        min = j;
        temp = a[i];
        a[i] = temp;
        a[min] = temp;
    }
    printf("\nThe sorted numbers:\n");
    for(i=1;i<=10;i++)
    printf("%5d",a[i]);
    printf("\n");
    return 0;
}
评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!