getline、istringstream的使用

题目描述

题目链接:点这里

AC代码

#include
using namespace std;
struct node {
	string s, t0;
	double time;
}no[10000];
bool cmp(const node &a, const node &b) {
	return a.time != b.time ? a.time < b.time : a.t0 < b.t0;
}
int main() {
	int i = 0; string s1,s2,s3;
	while (getline(cin, no[i].s)) {  //读取失败时返回EOF 
		istringstream ss(no[i].s);
		ss >> s1 >> s2 >> s3 >> no[i].time;
		no[i].t0 = s2 + s3;		//注意t0是分开的 
		i++;
	}
	sort(no, no + i, cmp);
	for (int j = 0; j < i; j++) {
		cout << no[j].s << endl;
	}
	return 0;
}

你可能感兴趣的:(nowcoder刷题)