PAT乙級1004 成績排名 (20分)(C語言版)及解析
讀入 n(>0)名學生的姓名、學號、成績,分別輸出成績最高和成績最低學生的姓名和學號。
輸入格式:
每個測試輸入包含 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
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
struct student{
char name[11];
char num[11];
int grade;
};
struct student *stu;
void input(int n){
int i;
stu=(struct student*)calloc(n,sizeof(struct student));
for(i=0;i<n;i++){
scanf("%s %s %d",stu[i].name,stu[i].num,&stu[i].grade);
}
}
void compare(int n){
int i;
int index_max,index_min;
index_max=index_min=0;
for(i=1;i<n;i++){
if(stu[i].grade>stu[index_max].grade)
index_max=i;
if(stu[i].grade<stu[index_min].grade)
index_min=i;
}
printf("%s %s\n",stu[index_max].name,stu[index_max].num);
printf("%s %s\n",stu[index_min].name,stu[index_min].num);
}
void main(){
int n;
scanf("%d",&n);
input(n);
compare(n);
}
解析:
1.題目要求手動輸入學生人數,因此我們需要利用calloc()函式來動態獲取記憶體空間
2.定義結構體儲存每個學生的姓名、學號和成績
相關文章
- PAT1004成績排名(java實現)Java
- 浙大PAT刷題-1004.成績排名
- PAT乙級比賽-互評成績計算
- 【PAT乙級、C++】1024 科學計數法 (20分)C++
- PAT 乙級 1094 谷歌的招聘 (20分)---【素數 字串】谷歌字串
- PAT乙 1041 考試座位號 (15分)(C C++)C++
- PAT乙級1001 || 害死人不償命的(3n+1)猜想(C語言)C語言
- 2022年冬pat乙級考試題目及程式碼解析附部分錯誤原因
- 【PAT乙級】1048 數字加密加密
- excel按成績高低排名次 excel成績表怎麼排名次Excel
- PAT Basic 1057. 數零壹(20)(C語言實現)C語言
- 【PAT甲級A1084】Broken Keyboard (20分)(c++)C++
- PAT乙級——1093(字串匹配)Java實現字串匹配Java
- 2-2 學生成績連結串列處理 (20分)——C語言實現C語言
- 用C語言編制查詢某班同學的平均成績C語言
- 【PAT甲級A1065】A+B and C (64bit) (20分)(c++)C++
- IEEE Spectrum:2014年度程式語言排名 Java/C/C++排名前三JavaC++
- C語言陣列求學生成績C語言陣列
- 百分制成績轉換為五級分製成績(8分) 題目內容: 編寫程式,輸入一個百分制成績,輸出所對應的成績等級“ A ”、“ B ”、“ C ”、“ D ”、“ E ”。 (使用switch語句) 轉換原則為:
- PAT 甲級 1152 Google Recruitment (20分)GoUI
- PAT-B 1059 C語言競賽【模擬】C語言
- C語言 資料的位級表示及操作C語言
- PAT 2023 冬 乙 方格填數
- 菜鳥記錄:c語言實現PAT甲級1010--RadixC語言
- 【PAT甲級A1038】Recover the Smallest Number (30分)(c++)C++
- C語言 · 3000米排名預測C語言
- 用python3進行成績等級劃分Python
- C++和c語言的分別C++C語言
- PAT乙級——1092(陣列排序 自定義sort)Java實現陣列排序Java
- PAT甲級1154 Vertex Coloring (25分)|C++實現C++
- TIOBE 8月程式語言排行榜:C語言排名創歷史新低C語言
- PTA 7-60 衝鋒衣選貨及折扣 (15分) (C語言)C語言
- 終極版C語言(一)-尹成-專題視訊課程C語言
- 終極版C語言(二)-尹成-專題視訊課程C語言
- 終極版C語言(三)-尹成-專題視訊課程C語言
- 終極版C語言(四)-尹成-專題視訊課程C語言
- 終極版C語言(五)-尹成-專題視訊課程C語言
- 終極版C語言(六)-尹成-專題視訊課程C語言