查找学生信息

题目描述

输入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!”
示例1

输入

复制
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<vector>
#include <string>
using namespace std;
struct student
{
    string id;
    char name[10];
    string gender;
    int year;
};
int main()
{
    int N;
    cin >> N;
    vector<student> stu;
    stu.resize(N);
    for (int i=0; i < N;i++)
    {
        cin >> stu[i].id >> stu[i].name >>  stu[i].gender >> stu[i].year;
    }
    int M;
    
    cin >> M;
    vector<string> input;
    input.resize(M);
    for (int  i = 0; i < M; i++)
    {
        cin >> input[i];
    }
    for (int i = 0; i < M; i++)
    {
        
            int flag = 0;
            for (int j = 0; j < N; j++)
            {
                flag++;
                if ((input[i]) == (stu[j].id))
                {
                    cout << stu[j].id << " " << stu[j].name << " " << stu[j].gender << " " << stu[j].year << endl;
                    break;
                }
                if (flag==N)
                {
                    cout << "No Answer!"<<endl;
                }
                    

            }
        
    }
    system("pause");
    return 0;
}


 
View Code
原文地址:https://www.cnblogs.com/hequnwang/p/10505664.html