B题
每日一报
http://www.nowcoder.com/questionTerminal/a739939e188e4a73b91d3aa56ad0d511
用结构体存储日期、学号和体温,放在一个数组里(体温<38.0直接忽略掉),自己写一个比较的函数(按题中的要求写就好),然后用sort排序输出就完了,上代码:
#include <bits/stdc++.h> using namespace std; struct node { int date; int number; float tem; //体温 }v; bool cmp(const node&p,const node&q) { if(p.date==q.date&&p.tem==q.tem){ return p.number<q.number; } else{ if(p.date==q.date) return p.tem>q.tem; else return p.date>q.date; } } int main() { vector<node>t; int n,m=0; cin>>n; for(int i=0;i<n;i++){ cin>>v.date>>v.number>>v.tem; if(v.tem<38.0){ m++; continue; } else t.push_back(v); } sort(t.begin(),t.end(),cmp); n-=m; cout<<n<<endl; for(int i=0;i<n;i++) printf("%d %d %.1f\n",t[i].date,t[i].number,t[i].tem); return 0; }