当前位置: 首页 > news >正文

蓝桥杯专项复习——结构体、输入输出

目录

结构体:排序

输入输出


结构体:排序

[NOIP2007]奖学金

#include<iostream>
#include<cstring>
#include<algorithm>

using namespace std;

const int N=310;
int n;

struct Student
{
    int chinese,math,eng,sum;
    int idx;
}Stu[N];//定义一个结构体数组

bool cmp(Student a,Student b)
{
    if(a.sum!=b.sum)
        return a.sum>b.sum;//先按照总分大的排 
    else if(a.chinese!=b.chinese)
        return a.chinese>b.chinese;//再按照语文成绩排 
    else
        return a.idx<b.idx;//最后根据编号 
}
int main()
{
    cin>>n;
    for(int i=1;i<=n;i++)
    {
        int x,y,z;
        cin>>x>>y>>z;
        Stu[i]={x,y,z,x+y+z,i};
    }
    
    sort(Stu+1,Stu+n+1,cmp);//使用自定义排序 
    
    for(int i=1;i<=5;i++)
        cout<<Stu[i].idx<<' '<<Stu[i].sum<<endl;
    return 0;
 } 

输入输出

根据相应的格式使用scanf、printf进行输入、输出

特别格式读入、输出:

P8665 [蓝桥杯 2018 省 A] 航班时间 

读入方式:

读入所有的数:while(cin>>a[++cnt])

读入所有(包括空格):string s; getline(cin,s);

将被空格隔开的数读入:

int cnt=0; string s; getline(cin,s);

stringstream line(s);  while(line>>a[++cnt];

被空格隔开数据读入例题:

P8598 错误票据

相关文章:

  • 花生好车:重构汽车新零售生态的破局者
  • HTML5前端第三章节
  • Centos离线安装openssl-devel
  • 【深度学习与大模型基础】第5章-线性相关与生成子空间
  • 音视频缓存数学模型
  • AI-医学影像分割方法与流程
  • Spring Validation参数校验
  • P1118 [USACO06FEB] Backward Digit Sums G/S
  • 前端项目的构建流程无缝集成到 Maven 生态系统(一)
  • C Sharp 集合
  • 包装类简单认识泛型
  • 音视频入门基础:RTCP专题(1)——RTCP官方文档下载
  • C/C++实现工厂模板设计模式(Factory Pattern)
  • 多模态RAG框架(一)ViDoRAG:Visual Document RAG via Dynamic Iterative Reasoning Agents
  • 【一起来学kubernetes】14、StatefulSet使用详解
  • 开箱即用的whisper-service服务
  • ccf3501密码
  • 重生之我在学Vue--第15天 Vue 3 动画与过渡实战指南
  • [IP]UART
  • HTML深度解读
  • 网络直播间销售玩具盲盒被指侵权,法院以侵犯著作权罪追责
  • 上海明天短暂恢复晴热最高32℃,一大波雨水在候场
  • 视频丨歼-10CE首次实战大放异彩
  • 美国务卿鲁比奥抵达会场,将参加俄乌会谈
  • 蒋圣龙突遭伤病出战世预赛存疑,国足生死战后防线严重减员
  • 龚正会见哥伦比亚总统佩特罗