题目1069:查找学生信息
时间限制:1 秒
内存限制:32 兆
特殊判题:否
-
题目描述:
-
输入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 <stdio.h>
#include <string.h>
typedef struct S{ //定义用于表示学生的结构体
char num[10];
char name[100];
char sex[5];
int age;
}S;
int main(){
int n,m;
S s[10001];
while(scanf("%d",&n)!=EOF){
for(int i=0;i<n;i++){ //输入
scanf("%s%s%s%d",s[i].num,s[i].name,s[i].sex,&s[i].age);
}
scanf("%d",&m);
char key[10];
for(int j=0;j<m;j++){
scanf("%s",key);
int ans=-1; //目标元素下标,初始化为-1
for(int k=0;k<n;k++){
if(strcmp(s[k].num,key)==0){
ans=k;
}
}
if(ans==-1) printf("No Answer!\n"); //若查找失败
else printf("%s %s %s %d\n",s[ans].num,s[ans].name,s[ans].sex,s[ans].age); //若查找成功
}
}
return 0;
}
/**************************************************************
Problem: 1069
User: zpy
Language: C
Result: Accepted
Time:30 ms
Memory:2004 kb
****************************************************************/