PAT B1041 考试座位号(C++)

PAT甲级目录 | PAT乙级目录

题目描述

B1041 考试座位号

解题思路

因为题目保证了考试座位号不会重复,所以可以将试机座位号作为 hash 数组的关键字,正好方便后面的查询。

易错点

  • 14 位纯数字的准考证号其实也可以用 long long 来保存
    • scanf("%lld %d %d", id, &no1, &no2);

也许陌生的知识点

代码示例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <cstdio>
#include <cstring>
struct student{
int num;
char id[15];
}S[1010];
int main(){
int N, k, no1, no2;
scanf("%d", &N);
for(int i = 1; i <= N; i++){
char id[15];
scanf("%s %d %d", id, &no1, &no2);
S[no1].num = no2;
strcpy(S[no1].id, id);
}
scanf("%d", &k);
for(int i = 0; i < k; i++){
scanf("%d", &no1);
printf("%s %d\n", S[no1].id, S[no1].num);
}
return 0;
}