| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 287 人关注过本帖
标题:《《求教一个关于数学排序的问题。》》
只看楼主 加入收藏
人称龙爷
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2012-3-13
结帖率:100%
收藏
已结贴  问题点数:10 回复次数:4 
《《求教一个关于数学排序的问题。》》
#include<stdio.h>

void main()
{
    int a[100];
    int n, i, j, t;

    printf ("请输入要排序的数字个数: ");
    scanf ("%d", &n);
    printf ("请输入各个数字: ");

    for (i=0; i<n; i++)
        scanf ("%d", &a[i]);

    for (j=0; j<(n-1); j++)                                /*进行n-1次循环,实现n-1趟比较*/
        for (i=0; i<(n-1-j); i++)                      /*在每一趟中进行n-1-j次比较*/
            if (a[i]>a[i+1])                     /*相邻两个数比较*/
            {
                t = a[i]; a[i] = a[i+1]; a[i+1] = t;
            }

    printf ("经过排序后的数字为: ");
    for (i=0; i<n; i++)
        printf ("%d", a[i]);

}










为什么上面要循环N-1次,而不是N次,还有就是为什么是N-1-J次比较?
搜索更多相关主题的帖子: 数字 数学 include 
2012-03-13 17:46
墨清扬
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:1
帖 子:294
专家分:817
注 册:2011-10-4
收藏
得分:5 
这个是冒泡排序法,楼主去看一下它的算法吧

酱油实习生
2012-03-13 19:00
姚杰
Rank: 6Rank: 6
等 级:侠之大者
威 望:1
帖 子:169
专家分:477
注 册:2010-6-1
收藏
得分:5 
比如n=5,当j=0时,i从0到4次,既运行了5次,也就是n次,a[0]a[1]a[2]a[3]a[4]是5次吧,数组是从0开始的,所以才会减一。。。。。。。。。。这个是冒泡算法啊,书上有的,仔细看看吧。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

持之以恒,别留遗憾,加油
2012-03-13 20:17
人称龙爷
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2012-3-13
收藏
得分:0 
回复 2楼 墨清扬
请问那本书上有,还有就是学书法哪本书更好?
2012-03-14 22:54
墨清扬
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:1
帖 子:294
专家分:817
注 册:2011-10-4
收藏
得分:0 
回复 4楼 人称龙爷
这个网上搜就有了。书的话我不是很在行

酱油实习生
2012-03-19 21:14
快速回复:《《求教一个关于数学排序的问题。》》
数据加载中...
 
   



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

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