1004 成績排名 (20 分)
讀入 n(>0)名學生的姓名、學號、成績,分別輸出成績最高和成績最低學生的姓名和學號。
輸入格式:
每個測試輸入包含 1 個測試用例,格式為
第 1 行:正整數 n
第 2 行:第 1 個學生的姓名 學號 成績
第 3 行:第 2 個學生的姓名 學號 成績
… … …
第 n+1 行:第 n 個學生的姓名 學號 成績
其中姓名和學號均為不超過 10 個字符的字符串,成績為 0 到 100 之間的一個整數,這里保證在一組測試用例中沒有兩個學生的成績是相同的。
輸出格式:
對每個測試用例輸出 2 行,第 1 行是成績最高學生的姓名和學號,第 2 行是成績最低學生的姓名和學號,字符串間有 1 空格。
wppsi測試分數如何解讀、輸入樣例:
3
Joe Math990112 89
Mike CS991301 100
Mary EE990830 95
輸出樣例:
Mike CS991301
Joe Math990112
原題鏈接:1004 成績排名 (20 分)
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
struct Stu{char name[100]; //名字 char xue[100]; //學號 int c; //成績
}stu[10010];
//這道題思路很簡單:就是根據學生成績來進行對字符串成員快排即可
int comp(const void* a,const void* b)
{struct Stu *aa = (struct Stu *)a;struct Stu *bb = (struct Stu *)b;return ((aa->c)-(bb->c)); //aa->c為結構體的成員,bb->c也為結構體的成員
}
int main()
{int n;int i,j;scanf("%d",&n);getchar();for(i=0;i<n;i++){scanf("%s%s%d",&stu[i].name,&stu[i].xue,&stu[i].c);}qsort(stu,n,sizeof(stu[0]),comp); //參數1:結構體數組名,個數,首地址的字符數,自定義比較函數名 printf("%s %s\n",stu[n-1].name,stu[n-1].xue);printf("%s %s\n",stu[0].name,stu[0].xue);return 0;}
版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。
工作时间:8:00-18:00
客服电话
电子邮件
admin@qq.com
扫码二维码
获取最新动态