【输入形式】
第一行输入包括 n、 m(1<=n<=5000,1<=m<=10,000)两个数字。
接下来 n 行,每行包含学号和成绩,学号用整数表示;成绩为不超过 100 的非负整数。
接下来 m 行,每行包括一个学号。
【输出形式】
输出 m 行,如果查询的学生不存在,输出”not exist!”,否则输出学生的成绩。
【样例输入】
5 3
1 95
2 34
3 89
4 65
5 90
2
5
8
【样例输出】
34
90
not exist!
#include <stdio.h>
#include <stdlib.h>
struct student
{int number;
int score;
}s;
void find(int a[][2],int k,int n)
{ int j;
for(j=0;j<n;j++)
if(k==a[j][0])
{printf("%d\n",a[j][1]);break;}
if(k!=a[j][0])
printf("not exist!\n");
}
int main()
{int n,m,i;
scanf("%d %d",&n,&m);
int a[n][2],b[m];
for(i=0;i<n;i++)
{
scanf("%d %d",&s.number,&s.score);
a[i][0]=s.number;
a[i][1]=s.score;
}while(s.number>100||s.number<0);
for(i=0;i<m;i++)
{scanf("%d",&s.number);
b[i]=s.number;
}
for(i=0;i<m;i++)
find(a,b[i],n);
}