#include"stdio.h"#define N 10?int main()?{? float a[N]={1.78,1.77,1.82,1.79,1.85,1.75,1.86,1.77,1.81,1.80};? int i,j;? for(i=N-1;i>=0;i--)? {? for(j=0;j<i;j++) //如果在該行for語句中的j<i改為j<=i,則輸出的數全變成0.0了。 請問為什么呢 ?? { ? ? ? ? ? ? ? ? ? ? ? ?//和自身比較的話不就連if的條件都沒滿足嗎,那就相當于沒有執行if里面的語句,為什么? if(a[j]>a[j+1]) //會出現這樣的情況呢?? {? a[i]+=a[j];? a[j]=a[i]-a[j];? a[i]-=a[j];? ? ?} }? }? for(i=0;i<N;i++)? {? printf("%6.2f",a[i]);? }? putchar('\n');? return 0;}?
關于c語言中冒泡排序的一個小問題。
慕粉1600176492
2016-11-14 21:10:33