冒泡排序法的程式如止:
# include "stdio.h"
main(){
int i,j,a[5],temp;
for(i=0;i<5;i++)
scanf("%d,",&a[i]);
for(i=0;i<5;i++)
for(
j=i+1;j<5;j++)
if(a[i]>a[j])
{temp=a[i];
a[i]=a[j];
a[j]=temp;}
for(i=0;i<5;i++)
printf("%d",a[i]);
printf("\n");
}
紅字的部份我能理解,但如果我將它換成 j=0,結果排序的結果竟然顛倒過來,變成由大往小排序?我想了半天,換成 j=0 雖然有點多此一舉,但邏輯上沒有錯誤啊,怎會結果大轉呢?