6 3 結構體陣列按總分排序 (10 分)

2021-09-03 07:07:23 字數 1148 閱讀 4099

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,...