问答详情
源自:6-5 数组的应用(一)

求助大佬。

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

提问者:鸿鹄之志工程师 2021-08-15 11:16

个回答

  • weixin_慕仰2568236
    2021-08-30 09:47:22

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

  • weixin_慕仰2568236
    2021-08-30 09:37:04

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

  • 慕莱坞7197699
    2021-08-28 15:10:30

    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;            //将较大的数放在后面    

                }                 

            }                

        }

    这样应该也可以。