一.题目描述:
输入N个学生的信息,然后进行查询。
输入:
输入的第一行为N,即学生的个数(N<=1000)
输入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!”
样例输入: 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 <stdlib.h>
typedef struct
{
char id[100],name[100],sex[10];
int age;
}Student;
int main()
{
int N,M,i,j;
char str[100];
Student s[1010];
freopen("1069.txt","r",stdin);
while(scanf("%d",&N)!=EOF)
{
for(i=0;i<N;i++)
scanf("%s%s%s%d",s[i].id,s[i].name,s[i].sex,&s[i].age);
scanf("%d",&M);
for(i=0;i<M;i++)
{
scanf("%s",str);
for(j=0;j<N;j++)
{
if(strcmp(s[j].id,str)==0)
break;
}
if(j!=N)
printf("%s %s %s %d\n",s[j].id,s[j].name,s[j].sex,s[j].age);
else
printf("No Answer!\n");
}
}
return 0;
}