A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© yuxuan3705 中级黑马   /  2016-9-6 19:46  /  2104 人查看  /  13 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

#include <stdio.h>

int main(void)
{
    int number[10];
    int i,j,temp;
    printf("Please input 10 numbers:\n");
    for(i = 0; i < 10; i++)
        scanf("%d",&number[i]);
    for(i = 0; i < 10; i++)
        for(j = 0; j < 10-i-1; j++)
            if(number[j] > number[j+1])
            {   
                temp = number[j];
                number[j] = number[j+1];
                number[j+1] = temp;
            }   
    printf("The sorted numbers:\n");
    for(i = 0; i < 10; i++)
        printf("%d ",number[i]);
    printf("\n");
    return 0;
}

13 个回复

倒序浏览
你要问啥问题啊?
回复 使用道具 举报
wangdou 发表于 2016-9-6 19:51
你要问啥问题啊?

都讲解一下呗  不知道咋回事
回复 使用道具 举报
你这代码我看着感觉有点问题?你的变量声明的有些无意义
回复 使用道具 举报
冒泡排序跟选择排序的区别就在于,内层循环的比较
回复 使用道具 举报
爷^周晨 发表于 2016-9-6 20:20
你这代码我看着感觉有点问题?你的变量声明的有些无意义

这个代码也是我在别的地方粘过来的 但是能运行.我没看懂就是
回复 使用道具 举报
第二个for里面的应该是i < 10 - 1 吧!
回复 使用道具 举报
求大神罩啊求大神罩啊求大神罩啊
回复 使用道具 举报
冒泡排序关键看for(i = 0; i < arr.length -1; i++) 和for(i = 0; i < arr.length-1-i; i++) 两个的嵌套  还有也得之一做比较的时候注意一下是前一个和后一个加1 定义临时变量进行交换就ok了
回复 使用道具 举报
这东西语言描述太麻烦,还是看视频吧,应该是基础视频第八天的,如意大师讲的那个,一看就明白,总之思想就是:内层让相邻两个元素想比较,把大的放在后面,如下标为 1 和 2,然后是  2  和 3,10个数就是比较 9次,第二次再比较就是 9 个数,就是比较 8 次,每次内层循环结束 就会有一个最大的数放在没排序的元素的最后。外层就控制内层循环的次数,10 个数就循环 9 次,剩下一个数就不用管了(把9 个大数都排好了,最后一个也是最小的一个,自然就有序了),此时已经完成了,希望能帮到你,关键还是自己能想通
回复 使用道具 举报
1871037345 发表于 2016-9-6 22:37
这东西语言描述太麻烦,还是看视频吧,应该是基础视频第八天的,如意大师讲的那个,一看就明白,总之思想就 ...

恩.谢谢啦
回复 使用道具 举报
yuxuan3705 发表于 2016-9-6 20:28
这个代码也是我在别的地方粘过来的 但是能运行.我没看懂就是

好吧,你先看看数组的遍历公式就明白了.
回复 使用道具 举报
我看着没有问题啊。
回复 使用道具 举报
这个背下来就行了。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马