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

为什么是i=8而不是i=9

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

正在回答

4 回答

你可能忘记了,arr[9]代表的是第10个数字。当i=8,j=8时,比较的是arr[j]<arr[j+1],即arr[8]<arr[9],已经比较了所有数字l。

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

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

    {

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

        {

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

            {

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

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

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

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

            }                 

        }                

    }



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

因为当9个数都排好序时第10个数就已经在应该在的位置了


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

因为后面排序时,比较的是j和j+1,当j=i时,j=8,j+1就等于9了。

你要是让i=9也可以,但是后面就要j和j-1比较了

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

举报

0/150
提交
取消

为什么是i=8而不是i=9

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