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.定義結構體儲存每個學生的姓名、學號和成績
相關文章
- PTA乙級 1004 成績排名
- [PAT B] 1004 成績排名
- PAT-B 1004 成績排名
- PAT1004成績排名(java實現)Java
- 浙大PAT刷題-1004.成績排名
- PAT乙級比賽-互評成績計算
- PAT 乙級
- PAT乙級1001 || 害死人不償命的(3n+1)猜想(C語言)C語言
- PAT乙級1023
- 【PAT乙級】1027 列印沙漏
- 【PAT乙級】1017 A除以B
- 【PAT乙級】1065 單身狗
- 【PAT乙級】1052 賣個萌
- 【PAT乙級】1048 數字加密加密
- 【PAT乙級】1066 影像過濾
- 2022年冬pat乙級考試題目及程式碼解析附部分錯誤原因
- 【PAT乙級、C++】1024 科學計數法 (20分)C++
- PAT Advanced 1004 Counting Leaves
- excel按成績高低排名次 excel成績表怎麼排名次Excel
- 菜鳥記錄:c語言實現PAT甲級1010--RadixC語言
- PAT乙級——1093(字串匹配)Java實現字串匹配Java
- 【PAT乙級】1021 個位數統計
- 用C語言編制查詢某班同學的平均成績C語言
- C語言陣列求學生成績C語言陣列
- PAT乙級 | 1086 就不告訴你 (15分)
- PAT乙 1041 考試座位號 (15分)(C C++)C++
- PAT-B 1059 C語言競賽【模擬】C語言
- C 語言程式構成要素
- PAT1038 統計同成績學生
- PAT 乙級 1094 谷歌的招聘 (20分)---【素數 字串】谷歌字串
- C語言版資料結構及演算法_快速排序C語言資料結構演算法排序
- PAT乙級——1092(陣列排序 自定義sort)Java實現陣列排序Java
- Linux核心C語言將升級LinuxC語言
- PAT-B 1077 互評成績計算【模擬】
- PAT1077互評成績計算(java實現)Java
- C語言庫函式及示例C語言函式
- C 語言版執行緒池執行緒
- C#方法 實現輸入成績顯示等級C#