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;
}
全部评论

相关推荐

评论
点赞
收藏
分享
牛客网
牛客企业服务