查看原题目请点我
C/C++代码实现
解题思路:主要就是查询的问题,这里需要查询的是试机时的座位号,由于数据不是很大可以直接散列,然后直接输出。

#include<cstdio>
#include<cstring>
const int maxn=1005;
struct node{
    char name[20];
    int  intest;
}stu[maxn];
int main(){
    int N,M;
    scanf("%d",&N);
    char str[20];
    int a,b;
    for(int i=0;i<N;i++){
        scanf("%s %d %d",str,&a,&b);
        strcpy(stu[a].name,str);
        stu[a].intest=b;
    }
    scanf("%d",&M);
    for(int i=0;i<M;i++){
        scanf("%d",&a);
        printf("%s %d\n",stu[a].name,stu[a].intest);
    }
    return 0;
}