当前位置: 代码迷 >> 综合 >> 问题 C: 查找学生信息
  详细解决方案

问题 C: 查找学生信息

热度:100   发布时间:2023-09-22 10:41:07.0

题目描述

输入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!

 

#include<stdio.h>
#include<string.h>
#include<iostream>
using namespace std;
struct stu{char num[100];char name[100];char sex[50];int score;
};
stu student[1010];
int main()
{int student_number;while(scanf("%d",&student_number)!=EOF){int i;for (i=0;i<student_number;i++){cin>>student[i].num>>student[i].name>>student[i].sex>>student[i].score; }int search_times;char search_number[4];scanf("%d",&search_times);while(search_times--){int flag=0;cin>>search_number;for(i=0;i<student_number;i++){if(strcmp(search_number,student[i].num)==0){cout<<student[i].num<<" "<<student[i].name<<" "<<student[i].sex<<" "<<student[i].score<<endl;flag=1;break;}}if(flag==0){cout<<"No Answer!"<<endl;}}}return 0;
}

 

  相关解决方案