首页
/
每日頭條
/
生活
/
考試成績分布分析
考試成績分布分析
更新时间:2026-01-26 09:16:30

考試成績分布分析?有一學生成績表,包括學号、姓名、3門課程成績請按要求排序輸出:若輸入1,則按第1門課成績降序輸出成績表,若輸入為i(1<=i<=3),則按第i門課成績降序輸出成績表,今天小編就來聊一聊關于考試成績分布分析?接下來我們就一起去研究一下吧!

考試成績分布分析(單科成績排序結構體專題)1

考試成績分布分析

ICPC--1193: 單科成績排序(結構體專題)題目描述

有一學生成績表,包括學号、姓名、3門課程成績。請按要求排序輸出:若輸入1,則按第1門課成績降序輸出成績表,若輸入為i(1<=i<=3),則按第i門課成績降序輸出成績表。

輸入

首先輸入一個整數n(1<=n<=100),表示學生人數; 然後輸入n行,每行包含一個學生的信息:學号(12位)、姓名(不含空格且不超過20位),以及3個整數,表示3門課成績,數據之間用空格隔開。 最後一行輸入一個整數i,表示要求按第i門課成績降序排序輸出,若該門課成績相同,則按學号升序。

輸出

輸出按第i門課降序排序的結果,格式見樣例。

樣例輸入

3 541207010188 Zhangling 89 78 95 541207010189 Wangli 85 87 99 541207010190 Fangfang 85 68 76 1

樣例輸出

541207010188 Zhangling 89 78 95 541207010189 Wangli 85 87 99 541207010190 Fangfang 85 68 76

代碼

#include<stdio.h> typedef struct xuesheng { char xuehao[13]; char name[20]; int a, b, c; }Student; void sort(Student *s,int num,int (*cmp)(Student s1,Student s2)){ Student temp; for (int i = 0; i < num-1; i ) { for (int j = i 1; j < num; j ) { if (cmp(s[i], s[j])>0){ //這必須>0 strcmp(串1,串2),若串1<串2 ,返回-1 temp = s[i]; //無序對調,返回1對調 s[i] = s[j]; s[j] = temp; } } } } int cmp1(Student s1, Student s2){ if (s1.a!=s2.a) { if (s2.a>s1.a) { return 1; } else{ return 0; } } else{ return strcmp(s1.xuehao,s2.xuehao); } } int cmp2(Student s1, Student s2){ if (s1.b != s2.b) { if (s2.b>s1.b) { return 1; } else{ return 0; } } else{ return strcmp(s1.xuehao, s2.xuehao); } } int cmp3(Student s1, Student s2){ if (s1.c != s2.c) { if (s2.c>s1.c) { return 1; } else{ return 0; } } else{ return strcmp(s1.xuehao, s2.xuehao); } } int main(){ Student s[100], temp; int num,op; scanf("%d",&num); for (int i = 0; i < num; i ) { scanf("%s %s %d %d %d",s[i].xuehao,s[i].name,&s[i].a,&s[i].b,&s[i].c); } scanf("%d",&op); switch (op) { case 1: sort(s,num,cmp1); break; case 2: sort(s,num,cmp2); break; case 3: sort(s,num,cmp3); break; default: break; } for (int i = 0; i < num; i ) { printf("%s %s %d %d %d\n",s[i].xuehao,s[i].name,s[i].a,s[i].b,s[i].c); } return 0; }

ICPC--1194: 總成績排序(結構體專題),
Comments
Welcome to tft每日頭條 comments! Please keep conversations courteous and on-topic. To fosterproductive and respectful conversations, you may see comments from our Community Managers.
Sign up to post
Sort by
Show More Comments
推荐阅读
内衣可以和衣服一起放洗衣機洗嗎
内衣可以和衣服一起放洗衣機洗嗎
内衣最好不要和衣服一起放入洗衣機清洗,因為洗衣機清洗衣服的方式過于暴力,将内衣放入其中清洗會讓它變形甚至是受到更嚴重的損壞,影響我們後續穿着的體驗。若是将内衣和顔色較深的外衣同時放入洗衣機清洗,還有可能讓内衣被染色。可以同時機洗内衣和衣服嗎 内衣是非常貼身的一種衣物,它需要每天更換,許多人因為覺得清...
2026-01-26
鴿子糞曬幹就可以用麼
鴿子糞曬幹就可以用麼
曬幹的鴿子糞不能直接使用,如果直接使用的話它就會因為發酵而産生大量熱量,從而灼傷植物根部,正确的做法應該是将它放入土坑并撒上水、發酵劑,鋪上草簾,等待發酵。鴿子糞除了可有用作肥料之外,還可用于飼養豬、魚、蝦。能不能直接用幹鴿子糞 曬幹之後的鴿子糞是一種非常好的肥料,但是這類肥料是不能直接使用的。我們...
2026-01-26
媽媽生日送什麼禮物好
媽媽生日送什麼禮物好
媽媽生日可以贈送的禮物分為三種:1、觀賞類:可以選擇康乃馨、手作畫等具有觀賞性質的禮物,長輩收到後都會很開心;2、實用類:可以根據母親的需求,選擇物品;3、心意類:可以選擇自己制作的小禮物,或者真情實感的講一段話,來表達自己的感謝之情。媽媽生日可以送什麼 1、觀賞類可以贈送康乃馨來表達自己的心情,康...
2026-01-26
水蜜桃不削皮可以吃嗎
水蜜桃不削皮可以吃嗎
水蜜桃不削皮是可以吃的,不過我們最好用鹽水将水蜜桃上的桃毛和其他髒東西清潔幹淨再吃。桃子含有豐富膳食纖維、維生素和水份,每天吃一點桃子對我們身體也很有好處。水蜜桃不削皮也是可以吃的,有很多人會因為喜歡帶皮桃子的口感,或者是懶得去給桃子削皮而選擇直接吃桃子,通常這樣都是不會出現什麼問題的。不過我們最好...
2026-01-26
540天是多少個月
540天是多少個月
540天是18個月,這是按照一個月為30天的标準計算出來的。我們隻要記住一年有多少個月,一個月有幾周,一周有幾天這些數據,就可以很輕松在年、月、周、日這幾個單位之間進行轉換。一年有十二個月,每個月可能會有三十天、三十一天、二十八天、二十九天,我們可以取中間值按照一個月為三十天的标準來進行計算。我們可...
2026-01-26
Copyright 2023-2026 - www.tftnews.com All Rights Reserved