为了账号安全,请及时绑定邮箱和手机立即绑定

正在回答

3 回答

for(i=8; i>=0; i--)

    {

        for(j=0;j<=i;j++)

        {

            if(      arr[j]>arr[j+1]      )      //当前面的数比后面的数大时

            {

                double temp;    //定义临时变量temp

                temp = arr[j];     //将前面的数赋值给temp

                arr[j]=arr[j+1];              //前后之数颠倒位置

                arr[j+1]=temp;              //将较大的数放在后面    

            }                 

        }                

    }

注意这一句话,arr[j]>arr[j+1]。

外部循环设置i最大为8,在第一轮内部循环,当j加到i(也就是8)的时候(注意判断条件是j<=i),实际上比较的是arr[8]和arr[9]的大小关系。数组最后一个数就是arr[9](数组下标从0开始),所以完成了所有数的比较。


看这种嵌套循环也对着内部两个部分的初始设置和判断条件来看。


希望你能看懂我的意思,祝好!



2 回复 有任何疑惑可以回复我~
#1

qq__6768 提问者

非常感谢!
2017-03-16 回复 有任何疑惑可以回复我~

同学您好,是一样的!

0 回复 有任何疑惑可以回复我~

非常感谢

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
C语言入门
  • 参与学习       926210    人
  • 解答问题       20797    个

C语言入门视频教程,带你进入编程世界的必修课-C语言

进入课程
意见反馈 帮助中心 APP下载
官方微信