1095 解碼PAT准考證 (25 分)

2021-09-10 23:51:20 字數 2014 閱讀 3554

pat 准考證號由 4 部分組成:

現給定一系列考生的准考證號和他們的成績,請你按照要求輸出各種統計資訊。

輸入首先在一行中給出兩個正整數 n(≤10​4​​)和 m(≤100),分別為考生人數和統計要求的個數。

接下來 n 行,每行給出乙個考生的准考證號和其分數(在區間 [0,100] 內的整數),其間以空格分隔。

考生資訊之後,再給出 m 行,每行給出乙個統計要求,格式為:型別 指令,其中

對每項統計要求,首先在一行中輸出case #: 要求,其中#是該項要求的編號,從 1 開始;要求即複製輸入給出的要求。隨後輸出相應的統計結果:

如果查詢結果為空,則輸出na

8 4

b123180908127 99

b102180908003 86

a112180318002 98

t107150310127 62

a107180908108 100

t123180908010 78

b112160918035 88

a107180908021 98

1 a2 107

3 180908

2 999

case 1: 1 a

a107180908108 100

a107180908021 98

a112180318002 98

case 2: 2 107

3 260

case 3: 3 180908

107 2

123 2

102 1

case 4: 2 999

na

#include#include#include#include#include#includeusing namespace std;

typedef structstu;

typedef structroom;

room rooms[1000];

stu stu[10005];

stu temp[10005];

int cmpbyscore(stu a,stu b)

int cmpbyroom(room a,room b)

int judgeroom(char a,char b)

int judgedate(char a,char b)

int change(char s)

void pre()

}int main()

for(int i=1;i<=m;i++)

sort(temp+1,temp+1+d,cmpbyscore);

if(d==0)

printf("na\n");

else

for(int j=1;j<=d;j++)

printf("%s %d\n",temp[j].num,temp[j].grade);

} else if(choice==2)//指定考場 考生人數和總分

if(d==0)

printf("na\n");

else

printf("%d %d\n",d,total);

} else if(choice==3)//指定日期 考生人數分考場統計輸出 按人數降序 若人數並列則按考場編號遞增順序輸出

for(int j=1;j<=1000;j++)

if(rooms[j].num!=0)

d++;

sort(rooms+1,rooms+1+1000,cmpbyroom);

if(d==0)

printf("na\n");

else

for(int j=1;j<=d;j++)

printf("%d %d\n",rooms[j].roomid,rooms[j].num);

} }return 0;

}

1095 解碼PAT准考證 (25 分)

1095 解碼pat准考證 25 分 pat 准考證號由 4 部分組成 第 1 位是級別,即 t 代表頂級 a 代表甲級 b 代表乙級 第 2 4 位是考場編號,範圍從 101 到 999 第 5 10 位是考試日期,格式為年 月 日順次各佔 2 位 最後 11 13 位是考生編號,範圍從 000 ...

1095 解碼PAT准考證 (25 分)

pat 准考證號由 4 部分組成 現給定一系列考生的准考證號和他們的成績,請你按照要求輸出各種統計資訊。輸入首先在一行中給出兩個正整數 n 10 4 和 m 100 分別為考生人數和統計要求的個數。接下來 n 行,每行給出乙個考生的准考證號和其分數 在區間 0,100 內的整數 其間以空格分隔。考生...

1095 解碼PAT准考證 25 分

pat 准考證號由 4 部分組成 現給定一系列考生的准考證號和他們的成績,請你按照要求輸出各種統計資訊。輸入首先在一行中給出兩個正整數 n 10 4 和 m 100 分別為考生人數和統計要求的個數。接下來 n 行,每行給出乙個考生的准考證號和其分數 在區間 0,100 內的整數 其間以空格分隔。考生...