[問題] 請問關於氣泡排序法的一點小問題
#include<stdlib.h>
#include<stdio.h>
#include<time.h>
int main(void){
int a[100];
int i;
int j;
int tmp;
srand(time(NULL));
for(i=0;i<=99;i++){
}
for(i=0;i<=99;i++){
a[i]=rand();
}
for(i=0;i<=99;i++){
for(j=99;j>=i;j--){
if(a[j]>=a[j+1]){ //由小排到大
tmp=a[j]; //
a[j]=a[j+1]; //
a[j+1]=tmp; //
} //
/**** if(a[j]<=a[j+1]){
tmp=a[j];
a[j]=a[j+1];
a[j+1]=tmp;
} ****/
}
printf("%10d",a[i]);
}
printf("\n");
return 0;
}
上述這段程式碼是用隨機亂數跑一百個數再用氣泡排序法排列完成
其中19~23行(我用"//"mark起來那部分)是要由小排到大
而24行~28行(我用/**** ****/mark起來那部分)我的用意是讓他由大排到小 雖然可以跑
的出來但卻會出現
c.exe發生問題,必須關閉,僅此致歉的視窗
請問是什麼原因呢 如果問題太笨 請見諒 謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 203.77.79.134
→
05/11 22:16, , 1F
05/11 22:16, 1F
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章