本帖最后由 qiongfengcai 于 2009-09-07 11:37:14 编辑

解决方案 »

  1.   


    for(int i=9;i > 0;i--){ for(int j=1;j <i;j++){ if(dou[j - 1]>dou[j]){ 
    int temp; 
    temp=dou[j - 1]; 
    dou[j - 1] = dou[j]; 
    dou[j] =temp; 
    } } 
    冒泡每次都是从第一个元素开始的。
      

  2.   

    可以边读入,边排序的。
    使用Arrays或Collections的binarySearch确定插入位置
      

  3.   

    for(int i=0;i <10;i++){ for(int j=i;j <9-i;j++){ if(dou[j]>dou[j+1]){ 
    int temp; 
    temp=dou[j]; 
    dou[j] = dou[j+1]; 
    dou[j+1] =temp; 
    } } 程序应该正确了,每次排序把最大的那个数放到最后面,循环10次,直接写for(int j=i;j <9;j++)也行,注意下数组下标别越界就可以了