我有一個結構,其定義爲這樣:排序函數的輸出,以從高顯示至低價
typedef struct structure
{
char names[20];
int scores[4];
float average;
char letter;
} stuff;
,並從該結構創建此數組:
stuff everything[13];
後來,一個功能調用:
display(everything);
顯示在屏幕顯示13名,13個TEST1S,13個test2s,13個test3s,13個TEST4基本圖表s,13個平均值和13個字母等級,沒有順序。作爲參考,功能如下:
void display(stuff *everything)
{
int q = 0;
printf("\n\n Name \t\t E1 \t E2 \t E3 \t E4 \t Avg \t Grade");
for(q=0; q<13; q++)
{
printf("\n %s \t %d \t %d \t %d \t %d \t %.2f \t %c",
everything[q].names,
everything[q].scores[0],
everything[q].scores[1],
everything[q].scores[2],
everything[q].scores[3],
everything[q].average,
everything[q].letter);
}
return;
}
我想取平均值,並將它們進行相互比較,這樣當它顯示到屏幕上,第一個結果是最高的平均水平,它會從那裏下來。我很確定我會使用'qsort()',但我很難理解它的語法。一些幫助qsort和如何使用它在這個特殊的情況下將不勝感激。
並非一切都有關語法。還有語義。你有什麼嘗試?你知道函數指針嗎?你在讀哪本書? – Sebivor 2013-04-30 05:55:00