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

CCF-GESP计算机学会等级考试2026年6月四级C++T2 身高体重指数

B4558 [GESP202606 四级] 身高体重指数

题目描述

一个人的身高体重指数(BMI)等于其体重(千克为单位)除以其身高(米为单位)的平方。

例如,一个体重为50 kg50\text{ kg}50kg,身高为1.6 m1.6\text{ m}1.6m的人的身高体重指数为50 kg/1.6 m/1.6 m=19.53125 kg/m250\text{ kg}/1.6\text{ m}/1.6\text{ m} = 19.53125\text{ kg/m}^250kg/1.6m/1.6m=19.53125kg/m2

现在有nnn个小朋友,第iii个小朋友的编号为iii,体重为wiw_iwi,身高为hih_ihi

请按照身高体重指数从高到低为小朋友们排序,数据保证不存在两个小朋友的身高体重指数完全相同。输出排序后小朋友的编号。

输入格式

输入333行,

第一行为一个正整数nnn,表示小朋友的个数;

第二行为nnn个整数w1,w2,⋯ ,wnw_1, w_2, \cdots, w_nw1,w2,,wn表示小朋友们的体重,单位为kg\text{kg}kg

第三行为nnn个浮点数h1,h2,⋯ ,hnh_1, h_2, \cdots, h_nh1,h2,,hn表示小朋友们的身高,单位为m\text{m}m

输出格式

输出一行nnn个数,表示按照身高体重指数从高到低排序后的编号。

输入输出样例 #1

输入 #1

3 45 33 39 1.55 1.33 1.44

输出 #1

3 1 2

说明/提示

样例解释

三个小朋友(编号依次为111222333)的身高体重指数分别为(保留两位小数的结果):18.7318.7318.7318.6618.6618.6618.8118.8118.81,故排序后输出的编号为3 1 23\ 1\ 2312

数据范围

1≤n≤10001 \le n \le 10001n100010≤wi≤10010 \le w_i \le 10010wi1000.8≤hi≤1.90.8 \le h_i \le 1.90.8hi1.9hih_ihi均恰有两位小数。

题解

本题要求计算每个小朋友的 BMI(体重/身高²),并按 BMI 从高到低排序输出编号。
我采用结构体存储每个小朋友的编号、体重、身高和计算出的 BMI。
先读入所有体重,再读入身高,读身高时同时计算 BMI 并记录编号。
然后使用sort函数,自定义比较规则cmp实现按 BMI 降序排列,最后依次输出排序后的编号。

关键点:体重为整数,身高为浮点数,计算时整数会自动转换为浮点数进行除法,因此结果精确。数据保证 BMI 互不相同,无需处理并列情况。
时间复杂度O(n log n),n ≤ 1000,完全可行。


带注释的源代码

#include<bits/stdc++.h>usingnamespacestd;intn;// 定义结构体,存储每个小朋友的信息structnode{intid;// 小朋友编号intw;// 体重(kg)doubleh;// 身高(m)doublebmi;// 身高体重指数};node a[1005];// 存储所有小朋友,下标从1开始// 自定义排序规则:按 BMI 从高到低排序boolcmp(node x,node y){returnx.bmi>y.bmi;}intmain(){cin>>n;// 读入小朋友个数// 先读入所有体重for(inti=1;i<=n;i++){cin>>a[i].w;}// 再读入所有身高,同时计算 BMI 并记录编号for(inti=1;i<=n;i++){cin>>a[i].h;a[i].id=i;// 编号等于输入顺序a[i].bmi=a[i].w/a[i].h/a[i].h;// 计算 BMI = 体重 / 身高^2}// 按 BMI 降序排序sort(a+1,a+n+1,cmp);// 输出排序后的编号for(inti=1;i<=n;i++){cout<<a[i].id<<" ";}return0;}
http://www.jsqmd.com/news/1103737/

相关文章:

  • Java代码审计实战:SSRF漏洞原理、挖掘与纵深防御体系构建
  • 力扣HOT100-7 无重复字符的最长子串(Java实现)
  • 亚马逊的“阳谋”:Alexa for Shopping全美上线,电商流量逻辑正在底层切换
  • 如何通过Bilivideoinfo破解B站数据分析的三大挑战?
  • paperxie 一站式论文智能写作,四步流程搞定全学段学术文稿创作
  • 3分钟免费解锁macOS优雅体验:Windows鼠标指针美化完全指南
  • 【JAVA毕设源码分享】基于springboot老年人膳食营养服务网站的设计与实现(程序+文档+代码讲解+一条龙定制)
  • 终极指南:让普通鼠标在macOS上超越苹果触控板的完整解决方案
  • Grok 4.3 使用实践:对话问答、推理分析与 Agent 工作流
  • 1908年6月30日:通古斯大爆炸——大自然上演的一场“高空无痕抹除”史诗级生产事故
  • 5分钟解锁网易云音乐NCM格式:ncmdump让你真正拥有音乐自由
  • 3分钟解锁网易云音乐NCM格式:ncmdump让你的音乐随处可播
  • novel-downloader:高效智能的小说离线下载解决方案
  • 成都企业选择大模型本地化部署的关键决策点
  • 头部玩家估值逼近宇树,机器人隐秘赛道的汹涌与暗流
  • paperxie 智能论文写作深度拆解:分步骤学术创作工具适配全学段论文撰写需求
  • 2026 研效前沿:年度最佳 AI 代码生成平台 Top 排行榜与工程治理选型指南
  • 如何在3分钟内免费为Windows系统换上macOS风格鼠标指针
  • 遗传算法工程化:从早熟收敛到生产可用的五大核心机制
  • 校车管理信息系统springboot + vue
  • 明日方舟智能辅助工具MAA:5分钟快速上手,彻底告别重复操作!
  • 2026年防腐无缝钢管现货定做 行业实战经验分享
  • 产品经理开会记笔记麻烦?2026年4款实时语音转文字 自动出纪要
  • 深入剖析QQ音乐加密格式:qmcdump技术实现与无损解密方案
  • 猫抓浏览器插件:轻松捕获网页视频音频资源的智能助手
  • 流程管理咨询公司哪家好?
  • biliTickerBuy:如何用Python自动化工具解决B站会员购抢票难题
  • 3分钟解锁网易云音乐:ncmdump无损转换NCM格式终极指南
  • ChatGPT正在“截流”亚马逊?卖家真正的战场,已经从站内打到AI全局
  • 3分钟解密网易云音乐:ncmdump本地化音频格式转换全攻略