OpenJudge

M:编程填空:学生信息处理

总时间限制:
1000ms
内存限制:
65536kB
描述

实现一个学生信息处理程序:预先输入一些学生信息。此后输入一个学号,输出该学号的学生的信息。

#include <iostream>
#include <map>
using namespace std;

struct Student
{
	int id;
	string name;
	int score;
	Student(int id_,const string & nm,int sc):
		id(id_),name(nm),score(sc) { }
	Student() { }


};


struct Info
{
	string name;
	int score;
	Info(const string & s,int sc):name(s),score(sc) { }
};
// 在此处补充你的代码
int main()
{
	std::map<int,Info>  mp;
	int t;
	cin >> t;
	while( t -- ) {
		mp.clear();
		int n;
		cin >> n;
		Student st;
		for( int i = 0;i < n; ++i) {
			cin >> st.id >> st.name >> st.score;
			mp.insert(MyMakePair(st));
		}
		cin >> n;
		st = MyFind(mp,n) ;
		cout << st.name << " " << st.score  << endl;
	}
	return 0;
}
输入
第一行是整数t,表明数据组数。
每组数据第一行是整数n,表示学生数目,0 < n < 100。
此后n行,每行是一个学生的信息。
每行的格式是:"学号 姓名 分数",数据之间用单个空格隔开。
学号是整数,范围0-1000,不同学生学号不同。
姓名是个由字母组成的字符串,没有空格,最多100个字符。
分数是整数,范围0-1000。
学生信息后面还有一行,是个整数k,表示需要输出学号为k的学生的信息。数据确保一定有分数为k的学生
输出
对于每组数据,输出一行符合条件的学生信息,格式是:
"姓名 分数"
中间用单个空格隔开。
样例输入
2
3
12 Tom 87
8 Jack 91
89 Lade 76
8
4
78 Why 67
65 Jill 56
88 Kiss 7
54 Land 45
88
样例输出
Jack 91
Kiss 7
全局题号
6998
提交次数
85
尝试人数
37
通过人数
35