| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 753 人关注过本帖
标题:C程,选择排序法问题,各位帮帮忙啊...
只看楼主 加入收藏
红色杀戮
Rank: 1
来 自:武汉
等 级:新手上路
帖 子:12
专家分:7
注 册:2009-7-25
结帖率:100%
收藏
已结贴  问题点数:10 回复次数:4 
C程,选择排序法问题,各位帮帮忙啊...
题目:输入10个数按从小到大的顺序排列。
这个虽然学过有段时间了,可我对这个题的算法还是不太清楚,那位可帮我详细讲解一下啊,一定要详细啊,这个问题对我非常重要,这里先谢啦…
程序代码:
#include <stdio.h>
main()
{   int a[10],i,j,k,t;
    printf("Input 10 numbers:\n");
    for(i=0;i<10;i++)
       scanf("%d",&a[i]);
    printf("\n");
   for(i=0;i<9;i++)    /*问题主要就在这里了*/
   {  k=i;
      for(j=i+1;j<10;j++)
        if(a[j]<a[k])
         k=j;
      if(k!=i)
      {  t=a[i]; a[i]=a[k]; a[k]=t;}
   }
    printf("The sorted numbers:\n");
    for(i=0;i<10;i++)
       printf("%3d ",a[i]);
}
搜索更多相关主题的帖子: 选择 
2010-04-12 12:39
曦月
Rank: 2
等 级:论坛游民
帖 子:30
专家分:51
注 册:2010-4-7
收藏
得分:0 
大哥,其他的没错,就是你这个
/*   */
错啦。

/*/*比一下你就晓得为啥错了。你是注释符错了
2010-04-12 13:22
曦月
Rank: 2
等 级:论坛游民
帖 子:30
专家分:51
注 册:2010-4-7
收藏
得分:2 
/*改成/*就行
2010-04-12 13:24
红色杀戮
Rank: 1
来 自:武汉
等 级:新手上路
帖 子:12
专家分:7
注 册:2009-7-25
收藏
得分:0 
回复 2楼 曦月
呵呵,可能是我没说清楚吧,我主要是问那个”算法”是如何处理的,那个注释只是指出我不明白的地方是下面的那个循环,注释就不要管它了…
2010-04-12 16:33
breezemiss
Rank: 2
等 级:论坛游民
帖 子:9
专家分:14
注 册:2010-4-13
收藏
得分:8 
因为k=i(i为数组中的排序数)
for(j=i+1;j<10;j++)的意思是i是在数组中1-9然后j=i+1即:j=k+1
接着if判断j和k的大小
接着调换位置

写的可能有点乱。希望能帮到你吧。


#include <stdio.h>

main()
{
    int a[10],i,j,k,t;            /*声明变量 */
    printf("请输入十个数字:\n");        
    for(i=0;i<10;i++)                /*循环输入十个数字 并存入数组*/
    {
        scanf("%d",&a[i]);
    }
    printf("\n");
    for(i=0;i<9;i++)            /*i=k,j=i+1;即:j=k+1; */
    {
        k=i;
        for(j=i+1;j<10;j++)        
            if(a[j]<a[k])            /*判断j和k的大小,即:判断第i个数和第i+1个数的大小 */
                k=j;
            if(k!=i)
            {
                t=a[i]; a[i]=a[k]; a[k]=t;
            }
    }
    printf("排序后:\n");
    for(i=0;i<10;i++)        /*循环输出排序后的十个数字 */
        printf("%3d",a[i]);
        printf("\n");
    system("PAUSE");
    return 0;
            
}



[ 本帖最后由 breezemiss 于 2010-4-15 16:01 编辑 ]
2010-04-15 15:54
快速回复:C程,选择排序法问题,各位帮帮忙啊...
数据加载中...
 
   



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

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