c語言實現配重系統 核心排序

2021-08-21 14:25:35 字數 1215 閱讀 7907

題目大意:某企業生產三種零件,三個零件可合成一種產品,但三個零件的總重量有要求,不能太重也不能太輕。

輸入50組資料,每組資料報含乙個a零件乙個b零件乙個c零件。

輸出符合要求的資料

格式如下:工號    a零件  工號  b零件   工號   c零件   總重

思路:①先將所有的a零件按從小到大的重量排序,再將所有的b零件按從大到小排序,所得的每個重量都趨於中間值。

②將每組的a零件和b零件重量相加,按從小到大排序。

③將c零件按從大到小排序。

注意:零件的工號要隨它的重量進行排序。借用一維陣列。

#includestruct studstudent[60];

int order1[100],order2[100],order3[100],order4[100];

void output()

printf(" 工號 零件1 零件2 零件3 \n");

while (fscanf(fp, "%d%f%f%f", &student[i].number, &student[i].one, &student[i].two, &student[i].three) != eof)

fclose(fp);

}void sort1() //從大到小

for (int i = 0; i <49; i++)

} }

}void sort2() //從大到小

for (int i = 0; i <49; i++)

} }}

void sort3()

for (int i = 0; i < 50; i++)

for (int i = 0; i <49; i++)

} }}

void sort4() //從大到小

for (int i = 0; i <49; i++)

} }}

int main()

return 0;

}

執行截圖如下:

冒泡演算法太費時,後期會改。

排序(C語言實現)

1.基本原則 比較兩兩相鄰記錄的關鍵字,使不滿足排序要求的記錄交換位置,直到n 1輪迴圈結束 2.操作順序 從小到大為例 1 從頭開始,比較 arr i 和 arr i 1 如果第二個比第乙個小,交換 2 指標向後移動,i i 1,再次比較 arr i 和 arr i 1 判斷是否需要交換 3 迴圈...

c語言實現排序

給定n個 長整型範圍內的 整數,要求輸出從小到大排序後的結果。本題旨在測試各種不同的排序演算法在各種資料情況下的表現。各組測試資料特點如下 資料1 只有1個元素 資料2 11個不相同的整數,測試基本正確性 資料3 103個隨機整數 資料4 104個隨機整數 資料5 105個隨機整數 資料6 105個...

氣泡排序 c語言實現

氣泡排序 排序思想 1.對於乙個長度為n的陣列,進行n 1次迴圈 2.第一次次迴圈中,先將1和2元素比較,如果元素1比元素2大,則交換其位置,接著比較元素2和元素3,以此類推,最終最大的元素排在最後一位 3.接著第二次迴圈,要排序的元素個數減少乙個 最大的已經放在最後一位 重複2的過程 4.這樣,每...