7-5 實驗11_3_結構排序 (100 分)
有n名學生,每個學生的屬性包括姓名與總成績。已知學生的姓名與總成績,你的任務是將學生的資訊按照以下方式排序:首先比較總成績,總成績高的在前面,總成績低的在後面,當總成績相同時,你要比較學生的姓名,姓名字典序小的同學在前面,姓名字典序大的同學在後面(ascii碼順序)。n的範圍是1—100;學生的姓名中只能包含大小寫字母,不會超過20個字元;總成績為整數。
要求:在本題中,你要設計乙個結構來儲存學生的資訊。在此結構中,需要有乙個字元陣列來儲存姓名,乙個整型變數儲存總成績。 輸入與輸出要求:輸出:。。
輸入格式:
首先輸入乙個正整數n,代表學生的數量,1<=n<=100;每名學生的資訊按照姓名、總成績的順序輸入(空格分開),每名學生資訊佔一行。具體格式見樣例。
輸出格式:
n名學生的資訊,姓名佔一行,總成績佔一行,輸出順序要按照題目的要求,每名同學的資訊後都再輸出乙個空行。 注意:每名同學的資訊後都再輸出乙個空行。
輸入樣例:
4alberteinstein 1328
georgewalkerbush 860
liumengmeng 1475
billgates 1328
輸出樣例:
name:liumengmeng
total:1475
name:alberteinstein
total:1328
name:billgates
total:1328
name:georgewalkerbush
total:860
#include
struct student
;typedef
struct student student;
void
getdata
(student*);
void
printstudent
(student*);
intmain
(int argc,
char
const
*ar**)
for(i=
0;i) order[i]
=i;for
(i=1
;i)for
(j=0
;j(list[order[i]
].sum==list[order[j]
].sum)if(
strcmp
(list[order[i]
].name,list[order[j]
].name)
<0)
}for
(i=0
;i)printstudent
(&list[order[i]])
;return0;
}void
getdata
(student *student)
void
printstudent
(student *student)
7 5 實驗11 3 結構排序 100分
有n名學生,每個學生的屬性包括姓名與總成績。已知學生的姓名與總成績,你的任務是將學生的資訊按照以下方式排序 首先比較總成績,總成績高的在前面,總成績低的在後面,當總成績相同時,你要比較學生的姓名,姓名字典序小的同學在前面,姓名字典序大的同學在後面 ascii碼順序 n的範圍是1 100 學生的姓名中...
7 5 實驗11 3 結構排序 100分
有n名學生,每個學生的屬性包括姓名與總成績。已知學生的姓名與總成績,你的任務是將學生的資訊按照以下方式排序 首先比較總成績,總成績高的在前面,總成績低的在後面,當總成績相同時,你要比較學生的姓名,姓名字典序小的同學在前面,姓名字典序大的同學在後面 ascii碼順序 n的範圍是1 100 學生的姓名中...
C 實驗11 3 結構排序
題目描述 有n名學生,每個學生的屬性包括姓名與總成績。已知學生的姓名與總成績,你的任務是將學生的資訊按照以下方式排序 首先比較總成績,總成績高的在前面,總成績低的在後面,當總成績相同時,你要比較學生的姓名,姓名字典序小的同學在前面,姓名字典序大的同學在後面 ascii碼順序 n的範圍是1 100 學...