题目描述
输入N个学生的信息,然后进行查询。
输入
输入的第一行为N,即学生的个数(N<=1000)
接下来的N行包括N个学生的信息,信息格式如下:
01 李江 男 21
02 刘唐 男 23
03 张军 男 19
04 王娜 女 19
然后输入一个M(M<=10000),接下来会有M行,代表M次查询,每行输入一个学号,格式如下:
02
03
01
04
输出
输出M行,每行包括一个对应于查询的学生的信息。
如果没有对应的学生信息,则输出“No Answer!”
样例输入 Copy
5
001 张三 男 19
002 李四 男 20
003 王五 男 18
004 赵六 女 17
005 刘七 女 21
7
003
002
005
004
003
001
006
样例输出 Copy
003 王五 男 18
002 李四 男 20
005 刘七 女 21
004 赵六 女 17
003 王五 男 18
001 张三 男 19
No Answer!
注意:输入的N,得循环输入
#include<bits/stdc++.h>
using namespace std;
//结构体类型
struct put{
string id;//学号用string类型保存,也可以使用char,个人习惯
string name;//名字
string xb;//性别
int shu;//年龄
}a[1005];
int main(){
int n;
while(cin>>n){//注意:这里得循环输入
for(int i=0;i<n;i++){
cin>>a[i].id>>a[i].name>>a[i].xb>>a[i].shu;
}
int n1;
string x;
cin>>n1;
for(int i=0;i<n1;i++){//循环输入n1次
int t=0;//记录是否查找到
cin>>x;
for(int j=0;j<n;j++){//循环n次查找
t=0;
if(a[j].id==x){
cout<<a[j].id<<" "<<a[j].name<<" "<<a[j].xb<<" "<<a[j].shu<<endl;//记得输出空格
t=1;//t=1就是找到了,标记
break;//退出,进行下一个学号的查找
}
}
if(t==0){//t=0没找到
cout<<"No Answer!"<<endl;
}
}
}
return 0;
}