[問題] 請問一個氣泡排序的小問題
int count;
int i;
int j;
int exchange;
int x[100];
printf("\n");
printf("請輸入欲比較數字資料的個數: ");
scanf("%d",&count);
printf("\n");
printf("**請輸入任意整數**\n");
printf("\n");
for(i=0;i<=(count-1);i++)
{
printf("請輸入第%d個資料: ",i+1);
scanf("%d",&x[i]);
printf("\n");
}
for(i=(count-1);i>=0;i--)
{
for(j=0;j<=i-1;j++)
{
if (x[j]>=x[j+1])
{
exchange=x[j+1];
x[j+1]=x[j];
x[j]=exchange;
}
}
printf("%4d",x[i]);
}
printf("\n");
printf("\n");
system("PAUSE");
return 0;
中間有著色的排序這一部分
我是想讓它從小排到大
可是不知道為什麼跑出來的結果就一直都是大排到小
白色這一行,如果改成<=,應該就變成由大排到小了
可是這樣跑出來的結果反而又變成由小排到大了
被搞得好亂呀..不知道是否有人能幫忙為我解答一下Orz
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 118.167.46.105
※ 編輯: lrfnc 來自: 118.167.46.105 (05/07 19:01)
→
05/07 19:29, , 1F
05/07 19:29, 1F
→
05/07 20:10, , 2F
05/07 20:10, 2F
→
05/07 20:43, , 3F
05/07 20:43, 3F
推
05/07 20:54, , 4F
05/07 20:54, 4F
→
05/07 21:00, , 5F
05/07 21:00, 5F
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章