团体程序设计天梯赛-练习集 L1-005 考试座位号

    题目很水。主要是学会了怎么重载>>,记录一下。

    因为输入的数据要存入变量中,故重载>>的函数参数表中要以引用的方式传参

题目链接: https://www.patest.cn/contests/gplt/L1-005

代码:

#include <iostream>
#include<queue>
#include<algorithm>
#include<cmath>
#include<cstring>
#include<map>

using namespace std;

map<int,int> m;

struct student
{
	string id;
	int num1,num2;
	friend istream& operator>>(istream& c,student &a)
	{
		cin>>a.id>>a.num1>>a.num2;
	}
	friend ostream& operator<<(ostream& c,student a)
	{
		cout<<a.id<<' '<<a.num2<<endl;
	}
}stu[1005];

int N,T,num;

int main()
{
	ios::sync_with_stdio(false);
	while(cin>>N)
	{
		for(int i=0;i<N;i++)
		{
			cin>>stu[i];
			m[stu[i].num1] = i;
		}
		cin>>T;
		for(int i=0;i<T;i++)
		{
			cin>>num;
			cout<<stu[m[num]];
		}
	}
}


posted @ 2018-03-15 13:19  Apale  阅读(189)  评论(0编辑  收藏  举报