看到这个题目第一反应就是使用结构体,不过感觉好久没有使用结构体了。刚开始使用的时候,总是报错。后面才知道好像是因为我使用了typedef这个关键字,我只知道这个关键字能减少代码量,然后我在主函数里面进行结构体的申明,代码就没有报错了。当然我也尝试了,把typedef这个关键字删除,删除之后,不用再进行申明,代码也是正确的。
#include<stdio.h>
typedef struct Exam
{
char num[1000];//准考证号
int a;//机试考试号
int b;//考试座位号
};
int main()
{
int i,n;
struct Exam exam[1000];
scanf("%d",&n);
for(i=0;i<n;i++)
{
scanf("%s %d %d",&exam[i].num,&exam[i].a,&exam[i].b);
}
int m,a1[1005];
scanf("%d",&m);
for(i=0;i<m;i++)
scanf("%d",&a1[i]);
for(i=0;i<m;i++)
{
for(int j=0;j<n;j++)
if(a1[i]==exam[j].a)
printf("%s %d\n",exam[j].num,exam[j].b);
}
return 0;
}