#include <stdio.h>
int main()
{
int n, m, i, s1, k1, s2;
long long temp, a[1005][5]; //用a数组存储输入信息
scanf("%d", &n);
for (i=1;i<=n;i++) {
scanf("%lld %d %d", &temp, &s1, &k1);
a[s1][1]=temp; //第一列存证件
a[s1][2]=k1; //第二列存考试号
} //输入预处理
scanf("%d", &m);
for (i=1;i<=m;i++) {
scanf("%d", &s2);
printf("%lld %lld\n", a[s2][1],a[s2][2]);
}
}
1、不难,由于证件号14位,故用long long型数组
2、//用结构体处理数据
#include <stdio.h>
const int maxSize = 1005; //注意const的写法
struct student{ //student可有可无
long long id;
int examSeat;
}testSeat[maxSize]; //定义结构体
int main()
{
int n, m, i, seat, examSeat;
//这里接收试机号不能用testSeat,因为与结构体定义的数组名相同;接收考试号可以用examSeat,接收编号可以用id
long long id;
scanf("%d", &n);
for (i=0;i<n;i++) {
scanf("%lld %d %d", &id, &seat, &examSeat);
testSeat[seat].examSeat=examSeat;
testSeat[seat].id=id;
} //用结构体对输入预处理
scanf("%d", &m);
for (i=0;i<m;i++) {
scanf("%d", &seat);
printf("%lld %d\n", testSeat[seat].id, testSeat[seat].examSeat); //输出
}
}