-
题目描述:
-
输入N个学生的信息,然后进行查询。
-
输入:
-
输入的第一行为N,即学生的个数(N<=1000)
接下来的N行包括N个学生的信息,信息格式如下:01 李江 男 2102 刘唐 男 2303 张军 男 1904 王娜 女 19然后输入一个M(M<=10000),接下来会有M行,代表M次查询,每行输入一个学号,格式如下:02030104
-
输出:
-
输出M行,每行包括一个对应于查询的学生的信息。
如果没有对应的学生信息,则输出“No Answer!”
-
样例输入:
-
4 01 李江 男 21 02 刘唐 男 23 03 张军 男 19 04 王娜 女 19 5 02 03 01 04 03
-
样例输出:
-
02 刘唐 男 23 03 张军 男 19 01 李江 男 21 04 王娜 女 19 03 张军 男 19
#include<iostream> #include<string.h> #include<stdio.h> using std::cin; using std::cout; int lmd(int a,int b) { if(b==0) return a; else return lmd(b,a%b); } typedef struct node { bool f; char a[100]; char sex[10]; int y; }node,Node; int cmp(const void *p1,const void *p2) { return *(char *)p1-*(char *)p2; } int main() { int n; while(cin>>n) { node p[1000]; for(int i=0;i<1000;i++) p[i].f=false; for(int i=0;i<n;i++) { int n,y; char a[100],b[10]; cin>>n>>a>>b>>y; strcpy(p[n].a,a); strcpy(p[n].sex,b); p[n].y=y; p[n].f=true; } int m; cin>>m; for(int i=0;i<m;i++) { int x; cin>>x; if(p[x].f) { if(x<10) cout<<0; cout<<x<<" "<<p[x].a<<" "<<p[x].sex<<" "<<p[x].y<<"\n"; } else cout<<"No Answer!\n"; } for(int i=0;i<1000;i++) { memset(p[i].a,0,sizeof(p[i].a)); memset(p[i].sex,0,sizeof(p[i].sex)); } } }