排名——採用結構體排序
Problem Description 今天的上機考試雖然有實時的Ranklist,但上面的排名只是根據完成的題數排序,沒有考慮
Input 測試輸入包含若干場考試的資訊。每場考試資訊的第1行給出考生人數N ( 0 < N
Output 對每場考試,首先在第1行輸出不低於分數線的考生人數n,隨後n行按分數從高
Sample Input 4 5 25 10 10 12 13 15 CS004 3 5 1 3 CS003 5 2 4 1 3 5 CS002 2 1 2 CS001 3 2 3 5 1 2 40 10 30 CS001 1 2 2 3 20 10 10 10 CS000000000000000001 0 CS000000000000000002 2 1 2 0
Sample Output 3 CS003 60 CS001 37 CS004 37 0 1 CS000000000000000002 20 |
AC碼:
#include<stdio.h>
#include<string.h>
#include<algorithm>
using namespace std;
const int MAX=22;
const int MAXN=11;
int point[MAXN];
struct node{
char num[MAX];//准考證號
int por_num[MAXN];//做出來的題目
int pnt;//總得分
}s[1001];
bool cmp(node &x,node &y)
{
if(x.pnt ==y.pnt )//總得分相同時,按照考號升序
return strcmp(x.num ,y.num )<0?1:2;
else
return x.pnt >y.pnt ;//總得分按照升序排序
}
int main()
{
int N,sum;
while(~scanf("%d",&N))
{//N名同學
sum=0;
if(N==0)
break;
int M,G;//M道題 G為分數線
scanf("%d %d",&M,&G);
int i,max;
for(i=0;i<M;i++)
scanf("%d",&point[i]); //每道題的滿分情況
for(i=0;i<N;i++)
{
scanf("%s",s[i].num );//輸入考生號
s[i].pnt =0;
int slv,j;
scanf("%d",&slv);//該考生答對的題目的數量
for(j=0;j<slv;j++)
{
scanf("%d",&s[i].por_num [j]);
s[i].pnt +=point[s[i].por_num [j]-1];
}
}
for(i=0;i<N;i++)
if(s[i].pnt >=G)
sum++;//超過分數線的總人數
printf("%d\n",sum);
sort(s,s+N,cmp);//按要求排序
for(i=0;i<sum;i++)//將超過分數線的學生資訊輸出
printf("%s %d\n",s[i].num ,s[i].pnt );
}
return 0;
}
相關文章
- golang 結構體自定義排序 + 按照分數算排名同分數排名一樣Golang結構體排序
- C++結構體排序C++結構體排序
- pat—結構體排序(用map彌補struct缺陷)結構體排序Struct
- 【c++】結構體sort排序C++結構體排序
- ZOJ 3875 Lunch Time(結構體排序)結構體排序
- 單體應用 適合採用 dapr 構建嗎?
- 採用常用實體命名機構資料
- C4top-搶紅包 (模擬-結構體排序)結構體排序
- 資料結構與排序資料結構排序
- 【資料結構】希爾排序!!!資料結構排序
- 【資料結構】希爾排序資料結構排序
- 【資料結構】堆排序資料結構排序
- 【資料結構】快速排序資料結構排序
- 資料結構(python) —— 【18排序: 桶排序】資料結構Python排序
- HDU 6015-Skip the Class(模擬-結構體排序)結構體排序
- 用結構體永久儲存下標結構體
- 用中值排序基數法實現樹狀結構 (轉)排序
- MySQL為什麼採用B+樹作為索引結構?MySql索引
- 【資料結構】歸併排序!!!資料結構排序
- 【資料結構】選擇排序!!!資料結構排序
- 【資料結構】氣泡排序資料結構排序
- 【資料結構】選擇排序資料結構排序
- 【資料結構】歸併排序資料結構排序
- 採用java連結timesten記憶體資料庫Java記憶體資料庫
- 複習資料結構:排序(一)——插入排序資料結構排序
- 複習資料結構:排序(三)——選擇排序資料結構排序
- 結構體中套用其他_結構體結構體
- 一個典型的採集伺服器體系結構設計伺服器
- C#中結構體的應用C#結構體
- 【資料結構與演算法】高階排序(希爾排序、歸併排序、快速排序)完整思路,並用程式碼封裝排序函式資料結構演算法排序封裝函式
- 資料結構第10章 排序資料結構排序
- 資料結構32:選擇排序資料結構排序
- 資料結構之計數排序資料結構排序
- 資料結構 堆排序 c Swift資料結構排序Swift
- Oracle體系結構:記憶體結構和程式結構(轉)Oracle記憶體
- UVA 10881 Piotr's Ants(等效變換 sort結構體排序)結構體排序
- 結構體結構體
- 採用開源軟體搭建WebGIS系統(1)系統架構Web架構