PAT 乙等 1004 C語言

2021-07-31 09:31:00 字數 1283 閱讀 6758

讀入n名學生的姓名、學號、成績,分別輸出成績最高和成績最低學生的姓名和學號。

輸入格式:每個測試輸入包含1個測試用例,格式為

第1行:正整數n

第2行:第1個學生的姓名 學號 成績

第3行:第2個學生的姓名 學號 成績

... ... ...

第n+1行:第n個學生的姓名 學號 成績

其中姓名和學號均為不超過10個字元的字串,成績為0到100之間的乙個整數,這裡保證在一組測試用例中沒有兩個學生的成績是相同的。

輸出格式:對每個測試用例輸出2行,第1行是成績最高學生的姓名和學號,第2行是成績最低學生的姓名和學號,字串間有1空格。

輸入樣例:

3

joe math990112 89

mike cs991301 100

mary ee990830 95

輸出樣例:
mike cs991301

joe math990112

思路:這個題如果會使用stdlib.h裡的qsort函式,做起來方便加快捷,如果不熟悉該函式的朋友請移步我c語言專欄下檢視。簡單來說就是將每一位同學的資訊存入結構體,按成績遞減排序,最後輸出最大和最小同學的資訊即可。

一、起始變數

1.學生的數量n

2.學生結構體陣列(關於結構體陣列的使用同樣在c語言專欄下有寫,不熟悉的童鞋可以去看哦)

二、運算

1.迴圈n次將資訊輸入到學生結構提陣列中。

2.將結構體陣列遞減排序。

3.輸出第0個學生結構體的名字學號和最後乙個結構體的名字和學號

三、**

#include "stdio.h"

#include "stdlib.h"

typedef structstudent;

int cmp(const void * a,const void * b);

int main()

qsort(students,n,sizeof(students[0]),cmp);

printf("%s %s\n",students[0].name,students[0].id);

printf("%s %s\n",students[n - 1].name,students[n - 1].id);

return 0;

}int cmp(const void * a,const void * b)

PAT甲級1004 c語言(滿分)

c語言沒有c 的一些固有的包,所以寫起來會稍稍麻煩些。想要ac的公尺娜桑一定要靜下心來耐心碼喲 include 考察點 dfs 節點的id是可以重複的 所以treenode不能儲存level資訊 struct treenode typedef struct treenode tree 100 tre...

PAT乙級1004 C語言 成績排名 20

讀入n名學生的姓名 學號 成績,分別輸出成績最高和成績最低學生的姓名和學號。輸入格式 每個測試輸入包含1個測試用例,格式為 第1行 正整數n 第2行 第1個學生的姓名 學號 成績 第3行 第2個學生的姓名 學號 成績 第n 1行 第n個學生的姓名 學號 成績其中姓名和學號均為不超過10個字元的字串,...

PAT 乙等 1011 C語言

給定區間 231,231 內的3個整數a b和c,請判斷a b是否大於c。輸入格式 輸入第1行給出正整數t 10 是測試用例的個數。隨後給出t組測試用例,每組佔一行,順序給出a b和c。整數間以空格分隔。輸出格式 對每組測試用例,在一行中輸出 case x true 如果a b c,否則輸出 cas...