t = a[j];
 a[j] = a[j+1];
 a[j+1] = t;
t是個數值變量,當a[j]>a[j+1]時
就先把a[j]的值給t存起來,然後把
a[j+1]的值給a[j],最後把t的值給a[j+1]
這樣就處理了a[j]的值也a[j+1]的值互換了。
於是小的就放到了數組的前面,大的值放到數組的後面了

解决方案 »

  1.   

    把a[j]和a[j+1]位置的数据互相交换.
    在这里借用一个临时变量来作交换平台.
    你应该知道把两个装满水的水杯中的水互相交换,
    先把第一水杯中的水装到第三水杯中,然后把第二
    水杯中的水装到第一水杯,最后把第三水杯中的不
    装到第二水杯,这样最完成了互相交换.以上代码
    也是用了这种原理.
      

  2.   

    开始是把a[j]的值给了t ,最后又把t 的值给了a[j+1],这样会不会出现几个值都一样了呀
      

  3.   

    to:szjq() 
    这是完成了交换的动作,保证最大的数在后面.
    比如说有n个数.
    a1,a2,a3.................,a(n)
    第一次循环(第一层for)对N个数进行排序,排完了后,保证了a(n)是最大的数.
    第二次循环(第二层for)对N-1个数进行排序,排完了后,保证了a(n-1)是最大的数.
    ......
    ...
    最后排序完毕.