题目1069:查找学生信息

时间限制:1 秒

内存限制:32 兆

特殊判题:

提交:2933

解决:761

题目描述:

 输入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
来源:
2003年清华大学计算机研究生机试真题
答疑:
解题遇到问题?分享解题心得?讨论本题请访问: http://t.jobdu.com/thread-7793-1-1.html
#include<stdio.h>
#include<string.h>
typedef struct Student
{
    char no[4];
    char name[200];
    char sex[10];
    int age;
}Stu;
int main()
{
    int M,N,i;
    scanf("%d",&N);
    Stu stu[N];
    for(i = 0; i < N; i++)
    {
        scanf("%s%s%s%d",stu[i].no,stu[i].name,stu[i].sex,&stu[i].age);
    }
    scanf("%d",&M);
    char chazhao[4];
    for(i = 0; i < M; i++)
    {
        scanf("%s",chazhao);
        int j=0;
        int flag=0;
        for(j = 0; j < N; j++)
        {
             if(strcmp(chazhao,stu[j].no) == 0)
            {
                flag = 1;
                printf("%s ",stu[j].no);
                printf("%s ",stu[j].name);
                printf("%s ",stu[j].sex);
                printf("%d\n",stu[j].age);
            }
        }
        if(!flag)
                printf("No Answer!\n");
    }
}


 


版权声明:本文为wujiezhainan原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。