在交换数值的时候发生错误了,你这种交换方式你可以用笔写一写,你会发现9 这个值被第二个语句覆盖了
正确:
int num=arr[j];
arr[j]=arr[j+1];
arr[j+1]=num;
望采纳
将里面的条件语句改成如下即可:
if (arr[j]>arr[j+1]){
int num=arr[j];
arr[j]=arr[j+1];
arr[j+1]=num;
交换数值的时候,如果arr[j] = 10,arr[j+1] = 9;你可以算一下,会发现你交换的过程中,把arr[j]赋值为10,arr[j+1]也赋值为10了,