| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1372 人关注过本帖
标题:选择法排序
只看楼主 加入收藏
南国利剑
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:29
帖 子:1165
专家分:3536
注 册:2010-4-12
收藏
得分:4 
回复 楼主 初初学者
稍作修改就可以了,主要就是要记住那两个要交换的数的位置。
并且要注意不要把他们覆盖了。
附改过的代码:
程序代码:
# include<stdio.h>

void main()
{
    int i,c,a[10];
    int number;
    for(i=0;i<=9;i++)
        scanf("%d",&a[i]);
    for(int j=0;j<9;j++)
    {
        c=a[j];
        number=j;
        for(i=j;i<9;i++)
        {
            if(c>a[i+1])
            {
                c=a[i+1];
                number=i+1;
            }
               
        }
        if(number!=j)
        {
            int temp;
            temp=a[j];
            a[j]=a[number];
            a[number]=temp;
        }
      
    }
    printf("\n排序后的数组:\n");
    for(i=0;i<10;i++){

        printf("%d\n",a[i]);
    }

}


南国利剑
2010-05-24 01:59
bocy
Rank: 2
等 级:论坛游民
帖 子:9
专家分:13
注 册:2010-5-15
收藏
得分:4 
只执行了一次循环。只比较了一次。

2010-05-24 08:33
快速回复:选择法排序
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.013470 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved