输入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!”
-样例输入
5
001 张三 男 19
002 李四 男 20
003 王五 男 18
004 赵六 女 17
005 刘七 女 21
7
003
002
005
004
003
001
006
- 样例输出
003 王五 男 18
002 李四 男 20
005 刘七 女 21
004 赵六 女 17
003 王五 男 18
001 张三 男 19
No Answer!
字符串数组之间的比较用,strcmp();string类型可以用== 相等返回0,大于返回大于0的整数,小于返回小于0的整数;
#include <iostream>
#include <cstring>
using namespace std;
struct Pinfo {
char id[5];
char name[60];
char sex[5];
int age;
};
int main() {
int N,M;
while(cin>>N) {
Pinfo pis[N];
for (int i = 0; i < N; i++)
scanf("%s %s %s %d", pis[i].id, pis[i].name, pis[i].sex, &pis[i].age);
cin >> M;
char id[5];
Pinfo *p = pis;
while (M--) {
cin >> id;
int find = 0;
for (int i = 0; i < N; i++) {
if (!strcmp(id, (p + i)->id)) {
find = 1;
cout << (p + i)->id << ' ' << (p + i)->name << ' ' << (p + i)->sex << ' ' << (p + i)->age << endl;
break;
}
}
if (!find) cout << "No Answer!" << endl;
}
}
return 0;
}