| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2627 人关注过本帖
标题:选择法排序问题...
取消只看楼主 加入收藏
soevil
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2008-10-31
收藏
 问题点数:0 回复次数:4 
选择法排序问题...
题目:用选择法排列10个数.



#include "stdio.h"
int main(void)
{
    int a[10],i,j,k,t;

    printf("请输入10个数字:\n");
    
    for(i=0;i<10;i++)

        scanf("%d",&a[i]);

/*开始排列*/

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

    }

    printf("重新排列后是:\n");
    for(i=0;i<10;i++)
        printf("%5d",a[i]);

    getch();
    return 0;
}


-----------------------------------------------------------------------
在VC++6.0上编译通过...可是输入数字后排列有点问题...是哪儿错了呢??
搜索更多相关主题的帖子: 选择 
2008-10-31 22:35
soevil
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2008-10-31
收藏
得分:0 
怎么没人啊...

我在baidu上找的答案和这个一样...为什么运行的结果就不对呢??
2008-10-31 23:10
soevil
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2008-10-31
收藏
得分:0 
结果如图...还是不对啊~~~

11111111.jpg (20.64 KB)
图片附件: 游客没有浏览图片的权限,请 登录注册
2008-10-31 23:23
soevil
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2008-10-31
收藏
得分:0 
晕..代码贴出来嘛~~~~~~
2008-10-31 23:41
soevil
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2008-10-31
收藏
得分:0 
问题解决...还是得谢谢liyanhong版主啊..



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

    }


将k=i;改到第二个for循环里面就可以了...呵呵..菜鸟问题..大家莫怪~~
2008-11-01 20:48
快速回复:选择法排序问题...
数据加载中...
 
   



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

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