1353 查找姓
时间限制 : 2000/1000 MS(Java/Others) | 内存限制 :65534/32767 KB(Java/Others)
提交数 : 1574 | 通过数 : 338
题目描述
输入一张学号和姓名对照表,输入学号,输出对应的姓名。Input 输入正整数n,代表有n(n大于0并且小于等于1000)个学生,接下来n行,每一行输入学号(长度小于等于10位,并且学号不会有重复)以及姓名(姓名的字符长度小于等于20),再接下来输入m(m小于等于10并且大于0)代表要查询的次数,依次每行m个输入学号
输入要求
输出要求
输出相应的姓名(每个姓名各占一行),如果没有输出“No student”
输入样例
4 106040501 zhangsan 106040502 lisi 106040503 wangwu 106040504 chenliu 2 106040502 106040509
输出样例
Lisi No student
提示
多组输入输出
代码如下
#include<stdio.h>
#include<string.h>
typedef struct S{char id[100];char name[100];
}stu;
int main()
{int n;while(scanf("%d",&n)!=EOF){stu s[n];for(int i=0;i<n;i++){scanf("%s",&s[i].id);scanf("%s",&s[i].name); }int m;scanf("%d",&m);char a[m][105];for(int i=0;i<m;i++)scanf("%s",a[i]);for(int i=0;i<m;i++){for(int j=0;j<n;j++){if(strcmp(a[i],s[j].id)==0){printf("%s\n",s[j].name);break;}if(j==n-1)printf("No student\n");}}
}return 0;
}