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

求助大佬。

http://img1.sycdn.imooc.com//611886980001bf4905640729.jpg为啥一开始要if i不等于9呀。求大佬帮我解释一下这整个代码写的具体意思,谢谢了。我看得有点懵逼。

正在回答

3 回答

定义了数组和整型变量i,j之后,第一个for循环是把排序前的数组遍历出来,if语句作用是数组最后一个数后不要逗号的作用。第二个内嵌循环中第1个for循环作用是逐渐缩小比较范围,第2个for循环作用是通过(比较)和(赋值)把大的数放到当前范围的最后。最后一个循环作用是把排序后的数组遍历出来,if语句作用同第一个。不知道这样是不是你想要的答案?

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

说白了其实很简单,注意看两个printf“”里面内容,只是因为第十个后面不用输出“,”而已,这就是这个if语句的作用——前九个数输出时带“,”,第十个不带。

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

if应该也可以等于9,只需要把程序改一下。

    for(i=9; 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;            //将较大的数放在后面    

            }                 

        }                

    }

这样应该也可以。

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

举报

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

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

进入课程

求助大佬。

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信