6-3 結構體陣列按總分排序 (10 分)
有一組學生資料,每個資料中含有三門課成績,請按成績總和從高到低對這組資料進行排序。 編寫函式calc求出每名學生的總分。 編寫函式sort按每名學生的總分從高到低對這組資料進行排序
函式介面定義:
void calc(struct student *p,int n);
void sort(struct student *p,int n);
其中 p 和 n 都是使用者傳入的引數。 函式calc求出p指標所指的結構體陣列中 n 名學生各自的總分。 函式sort對p指標所指的結構體陣列的學生資料按總分降序排序。
裁判測試程式樣例:
#include
struct student
;void calc(struct student *p,int n);
void sort(struct student *p,int n);
int main()
}calc(stu,5);
sort(stu,5);
for(i=0;i<5;i++)
return 0;
/* 請在這裡填寫答案 */
輸入樣例:
1 zhang 89 87 85
2 liu 92 98 96
3 li 74 71 72
4 xion 95 98 99
5 liu 99 100 100
輸出樣例:
5 liu 99.0 100.0 100.0 299.0
4 xion 95.0 98.0 99.0 292.0
2 liu 92.0 98.0 96.0 286.0
1 zhang 89.0 87.0 85.0 261.0
3 li 74.0 71.0 72.0 217.0
*void calc(struct student *p,int n)
}void sort(struct student *p,int n)
}std=p[i];
p[i]=p[k];
p[k]=std;
}}*
隨機生成學生成績,並將成績按總分排序
生成一張成績單,並按照總分的大小順序排序 分析 根據題目的需求,我們可以將題目拆解成以下步驟 第一步 獲取學生的姓名 第二步 生成學生的三科成績 第三步 生成排名 第四步 組合儲存結構 第五步 輸出 1.生成乙個姓名字典dict student info 2.生成學生的成績 將生成的成績存貯在列表中...
按日期進行排序(結構體)
題目描述 送人玫瑰手有餘香,小明希望自己能帶給他人快樂,於是小明在每個好友生日的時候發去乙份生日祝福。小明希望將自己的通訊錄按好友的生日排序排序,這樣就檢視起來方便多了,也避免錯過好友的生日。為了小明的美好願望,你幫幫他吧。小明的好友資訊包含姓名 出生日期。其 生日期又包含年 月 日三部分資訊。輸入...
結構體陣列排序
在對結構體陣列排除時,首先確定需要排序陣列的關鍵字,並且在排序過程中不是交換關鍵字的順序,而是應該交換這個結構的位址,從而使得結構體中的每項能夠對應的改變 其中對應的 如下 include include struct line void quicksort struct line a,int l,...