幫忙看看這個排序的C程式

時間 2022-03-08 17:30:24

1樓:

三個問題:

1.int x[9]只宣告瞭x是有9個元素的陣列,放不下10個整數,要改成int x[10]。

2. if(x[i]>x[c]) x[i] = x[c]中當x[i]>x[c]時沒有交換,而賦值 x[i] = x[c],這樣原先輸入的數都面目皆非了。

3.只有 printf("由小到大排序為:%d\t",x);這一句是輸出不了一串資料的。

4.for(c=0;c<=9;c++)中應該是c=i。

改後**如下:

int main(void)

for(i=0;i<=9;i++)

}printf("由小到大排序為:\n");

for(i=0;i<=9;printf("%d\t",x[i++]));

printf("\n");

system("pause");

return 0;

}你試試。

2樓:

#include

#include

#include

int main()

printf("由小到大排序為:\n");

for(i=0;i<=9;i++)//實現整型10個整數的輸出,必須用迴圈語句

printf("%d ",x[i]);

system("pause");

return 0;}

3樓:匿名使用者

1、陣列定義大小有問題 2、排序的迴圈裡面c應該是c=i+1 而且範圍是i<10-1,c<10 3、交換x[i]與x[c]時寫錯了 4、printf有問題

這個是氣泡排序吧,看下這個**

#include

#define maxn 10

int main()}}

for(i=0;i

return 0;

}注意理解演算法思想,先能夠在腦中模擬出演算法過程(給一組資料,讓自己當計算機,按照演算法輸出運算過程和結果),然後再程式設計

4樓:匿名使用者

應該宣告 int x[10],這樣才能放10個整數,還有你的排序演算法也有問題。

比如當 i=0 時,整數c從0到9遍歷一遍之後,x[0]中放的是最小的數,但是原先的x[0]就丟失了;

當 i=1 時,因為 x[1]>x[0],所以x[1]=x[0], 這樣原先x[1]中的數也丟失了,所以排到後面只有同一個數了

選擇排序的函式應該是這樣的:

void select(int data,i)data[x]=min;}}

幫我看看這個程式錯在哪裡,幫我看看這個C語言程式錯在哪裡了?很簡單的一個程式

你這個 想要得到什麼樣的結果?定義指標必須給它初始化不然就會出現指標異常的錯誤,你如果只想得到 a 10 1000 b 10 100 a 10 10 b 10 這個值的結果沒必要定義指標,直接定義一個long型變數直接接結果就行,ints 0 s a 10 1000 b 10 100 a 10 10...

大家幫忙看看這個錢幣,大家幫忙看看這個錢幣真不真?

乾通道輝 小平咸豐 但後面的滿文看不清什麼局,東西對5 15 大家幫忙看看這個錢幣真不真? 不真,化學偽鏽,錢體鏽蝕不均衡都露銅了。 精美錢幣 宋代大觀通寶真品無疑。麻煩大家幫忙看看這個是什麼錢幣 陶心齋主 雙旗銅圓十文,真品有收藏價值的。 我家也有一個 一樣的,不過就是製造的地方不一樣 也不知道值...

大家幫忙看看這個怎樣。女命,大家幫忙看看這個八字怎樣。女命。

還有有人相信這些麼?呵呵 徵求意見稿規定 失業人員在領取失業保險金期間,以個人身份自願參加基本養老保險。失業人員在領取失業保險金期間,參加職工基本醫療保險,享受基本醫療保險待遇。失業人員應當繳納的基本養老保險費和基本醫療保險費從失業保險 中支付,個人不繳納基本養老保險費和基本醫療保險費 徵求意見稿規...