标题:冒泡排序
只看楼主
依然,微笑
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2013-5-23
结帖率:0
已结贴  问题点数:20 回复次数:9 
冒泡排序
#include<stdio.h>
int main()
{
    int t,i,j,n[10];
    for(i=0;i<=9;i++)
        scanf("%d",&n[i]);
    for(j=0;j<9;j++)
        for(i=0;i<9-j;i++)
        {
            if(n[i]>n[i+1])
            {  t=n[i];n[i]=n[i+1];n[i+1]=t;}
        }
        for(i=0;i<=9;i++)
        {    printf("%d\x20",n[i]);}
        printf("\n");
}



那位高手给写写每句的注解呀
搜索更多相关主题的帖子: 冒泡 冒泡 
2013-05-24 13:08
我叫沃恩
Rank: 12Rank: 12Rank: 12
来 自:Asia
等 级:贵宾
威 望:10
帖 子:1234
专家分:3865
注 册:2013-3-29
得分:3 
#include<stdio.h>
 int main()
 {
     int t,i,j,n[10];
     for(i=0;i<=9;i++)
         scanf("%d",&n[i]);//输入十个数!
     for(j=0;j<9;j++)//十个数要进行9次循环,每次循环选出最大的元素!
         for(i=0;i<9-j;i++)//每次循环内,进行9次的元素比较,就是选出其中最大的元素,
         {                 //9-j是要进行的几个元素比较!每循环一次,就少一个元素!
             if(n[i]>n[i+1])
             {  t=n[i];n[i]=n[i+1];n[i+1]=t;}//进行元素比较!
         }
         for(i=0;i<=9;i++)
         {    printf("%d\x20",n[i]);}
         printf("\n");
 }
我解释的可能不够好!自己慢慢看看!

因为我是菜鸟,所以应该被骂! 细节+坚持=成功!
2013-05-24 13:17
韶志
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:斗气大陆
等 级:贵宾
威 望:44
帖 子:2223
专家分:13592
注 册:2013-3-22
得分:3 
程序代码:
#include<stdio.h>
int main()
{
    int t,i,j,n[10];
    for(i=0;i<=9;i++)
        scanf("%d",&n[i]);
    for(j=0;j<9;j++)            //一共进行10轮冒泡   就是大的数往上跑(只是针对你的程序哈)
        for(i=0;i<9-j;i++)      //j=0时循环十次,最大的数排到最上面;  j=1时循环九次,第二大的数排到第九个位置.... j=2,j=3.。。。
        {
            if(n[i]>n[i+1])     //比较   往上排
            {  t=n[i];n[i]=n[i+1];n[i+1]=t;}
        }
     for(i=0;i<=9;i++)          //输出
         printf("%d\x20",n[i]);
     printf("\n");
}

三十年河东,三十年河西,莫欺少年穷!
2013-05-24 13:23
邓士林
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:淮河河畔
等 级:贵宾
威 望:61
帖 子:2391
专家分:13384
注 册:2013-3-3
得分:3 
上面讲的都很详细了,何为冒泡排序,就是因为排序思想比较像水中的气泡冒泡而得名,从最底层的慢慢向上浮出最大的气泡,这就是核心了

Maybe
2013-05-24 14:33
zhangshifeng
Rank: 2
等 级:论坛游民
帖 子:24
专家分:57
注 册:2013-5-19
得分:3 
C语言学习交流群:280768274
2013-05-24 15:22
杨瑞川
Rank: 2
等 级:论坛游民
帖 子:16
专家分:25
注 册:2013-5-19
得分:3 
2013-05-24 15:59
xhd504070596
Rank: 2
等 级:论坛游民
帖 子:12
专家分:11
注 册:2013-5-24
得分:3 
这个不是很难吧- -好吧 我学的是厚厚的那本张永健翻译的标准教程,里面冒泡排序很详细
2013-05-24 21:42
xhd504070596
Rank: 2
等 级:论坛游民
帖 子:12
专家分:11
注 册:2013-5-24
得分:0 
回复 7楼 xhd504070596
假如有10个数...你排10+9+8...+1次 肯定能排出来正确的顺序的,核心的是交换语句 你如果要交换a,b的值 肯定要引用一个c变量 c=a,a=b,b=c肯定要这样,如果直接a=b;b=a就是把b的值给a,再把a的值给b,就是a和b都是b的值了
2013-05-24 21:50
yctchxf
Rank: 6Rank: 6
来 自:盐城
等 级:侠之大者
威 望:2
帖 子:176
专家分:454
注 册:2012-4-10
得分:3 
来学习呵呵……
2013-05-24 22:26
秦殇
Rank: 2
等 级:论坛游民
帖 子:61
专家分:77
注 册:2013-3-13
得分:3 
讲的很详细了,补充一点,
最好在最后加上return语句。
虽然不影响运行,但是好的习惯很重要。
2013-05-24 22:45



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-407919-1-1.html




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

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