用结构体存储日期、学号和体温,放在一个数组里(体温<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;
}


京公网安备 11010502036488号