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

第一层for循环是干嘛的啊!!

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

提问者:我是空格啊 2015-07-27 14:52

个回答

  • jsksxs360
    2015-08-04 21:39:14

    第二层 for 循环中,判断循环继续的条件是  j<=i,所以里面的循环 j 是从 0 到 i 进行循环。对于每一次的 i,都依次比较从开始位置到 i 位置之后一个位置的所有数的大小,将最大的数放在最后。实现的效果是,先将所有数中最大的数放到最后,再将剩余数中最大的数放到倒数第 2 的位置,依次类推,实现从小到大排列。