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

[2401MT-B] 面积比较

[2401MT-B] 面积比较

题目描述

三角形、长方形、梯形和圆是常见的几何图形,他们的面积计算公式如下:

  • 三角形:已知三角形三边边长为 a,b,ca,b,ca,b,c,那么三角形面积 S1=p(p−a)(p−b)(p−c)S_1=\sqrt{p(p-a)(p-b)(p-c)}S1=p(pa)(pb)(pc),其中 p=a+b+c2p=\dfrac{a+b+c}{2}p=2a+b+c

  • 长方形:已知长方形长为 ddd,宽为 eee,那么长方形面积 S2=deS_2=deS2=de

  • 梯形:已知梯形平行边边长分别为 f,gf,gf,g,高为 hhh,那么梯形面积 S3=(f+g)⋅h2S_3=\dfrac{(f+g)\cdot h}{2}S3=2(f+g)h

  • 圆:已知圆的半径为 rrr,那么圆面积 S4=πr2S_4=\pi r^2S4=πr2在本题中 π\piπ3.1413.1413.141

小 F 已经通过直尺测量了四个几何图形的有关尺寸,请你求出哪个图形的面积最大?

保证没有两个几何图形大小相同,且不会由于浮点误差产生答案错误的问题。

输入格式

输入共四行。

输入的第一行为三个浮点数 a,b,ca,b,ca,b,c

输入的第二行为两个浮点数 d,ed,ed,e

输入的第三行为三个浮点数 f,g,hf,g,hf,g,h

输入的第四行为一个浮点数 rrr

输入的所有浮点数,小数点后最多有一位。

输出格式

输出一行一个字符串,为面积最大的图形的拼音:

  • 若三角形面积最大,输出 sanjiaoxing
  • 若长方形面积最大,输出 changfangxing
  • 若梯形面积最大,输出 tixing
  • 若圆面积最大,输出 yuan

提示

你可以使用 C++ 中 cmath 头文件提供的函数 sqrt 来计算根式。

输入的所有数都在 1∼100001\sim 10000110000 之间。

我们来详细讲解这道题目「[2401MT-B] 面积比较」,含有多个几何图形的面积公式,适合作为小学信息学奥赛中 综合应用 + 数学公式实现能力 的考查题。


✅ 一、题意解析

输入分别是四种图形所需的边长、半径等参数,让我们计算这四种图形的面积:

在这里插入图片描述

✅ 二、解题思路

  1. 读取输入
    • 第一行读入 a, b, c:三角形三边
    • 第二行读入 d, e:长方形的长和宽
    • 第三行读入 f, g, h:梯形的上底、下底、高
    • 第四行读入 r:圆的半径
  2. 使用公式计算四种面积
  3. 找出最大面积的图形,并输出对应拼音。

✅ 三、C++实现

#include <iostream>
#include <cmath>
using namespace std;int main() {double a, b, c;         // 三角形边长double d, e;            // 长方形长宽double f, g, h;         // 梯形两底和高double r;               // 圆的半径const double PI = 3.141;// 输入数据cin >> a >> b >> c;cin >> d >> e;cin >> f >> g >> h;cin >> r;// 三角形面积(海伦公式)double p = (a + b + c) / 2.0;double s1 = sqrt(p * (p - a) * (p - b) * (p - c));// 长方形面积double s2 = d * e;// 梯形面积double s3 = (f + g) * h / 2.0;// 圆面积double s4 = PI * r * r;//cout << s1 << " " << s2 << " " << s3 << " " << s4 <<endl;// 找最大面积if (s1 > s2 && s1 > s3 && s1 > s4) {cout << "sanjiaoxing" << endl;} else if (s2 > s1 && s2 > s3 && s2 > s4) {cout << "changfangxing" << endl;} else if (s3 > s1 && s3 > s2 && s3 > s4) {cout << "tixing" << endl;} else {cout << "yuan" << endl;}return 0;
}

✅ 四、样例测试

输入:
3 4 5
6 2
3 5 4
2
输出:
tixing

✅ 五、复杂度分析

  • 时间复杂度:O(1)O(1)O(1),仅计算常数次公式
  • 空间复杂度:O(1)O(1)O(1),仅使用几个变量

✅ 六、教学建议

这题非常适合考察以下能力:

  • ✅ 输入多个浮点数

  • ✅ 正确使用数学公式(含平方根 sqrt)

  • ✅ 浮点数比较
    ✅ 五、复杂度分析

  • 时间复杂度:O(1)O(1)O(1),仅计算常数次公式

  • 空间复杂度:O(1)O(1)O(1),仅使用几个变量


✅ 六、教学建议

这题非常适合考察以下能力:

  • ✅ 输入多个浮点数
  • ✅ 正确使用数学公式(含平方根 sqrt)
  • ✅ 浮点数比较
  • ✅ 综合选择结构 if-else 的运用
http://www.dtcms.com/a/315734.html

相关文章:

  • 翻译的本质:人工翻译vs机器翻译的核心差异与互补性
  • Starrocks中的 Query Profile以及explain analyze及trace命令中的区别
  • MySQL 中 VARCHAR 和 TEXT 的区别
  • 智慧酒店:科技赋能下的未来住宿新体验
  • Spring-rabbit使用实战六
  • 国产三防平板电脑是什么?三防平板推荐
  • Spark内核调度
  • RTC实时时钟RX8900SA国产替代FRTC8900S
  • 使用maven-shade-plugin解决es跨版本冲突
  • 微信小程序功能实现:页面导航与跳转
  • jenkins插件Active Choices的使用通过参数动态控制多选参数的选项
  • LHA6958D是一款代替AD7606的芯片
  • 【前端】网站favicon图标制作
  • MyBatisPlus查询数据库中所有表的数据(AI)
  • 使标签垂直水平居中的多种方法
  • 自动驾驶控制算法——MPC控制算法
  • 数据结构 实现单链表
  • Vue3核心语法进阶(Props)
  • C语言:选择排序算法深度剖析!
  • nodejs 编码初体验
  • JAVA无人共享球杆柜系统球杆柜租赁系统源码支持微信小程序
  • 嵌入式硬件中运放的基本控制原理
  • 基于k8s环境下的pulsar常用命令(上)
  • 达梦分布式集群DPC_分布式任务执行拆分流程_yxy
  • 安全测绘之敏感网络资产排查指南
  • 在Linux上部署RabbitMQ、Redis、ElasticSearch
  • Taro Hooks 完整分类详解
  • 深度解析随机森林 API:参数奥秘与调优指南
  • 在AI时代,如何制定有效的职业规划?AI时代职业规划+AI产品经理角色
  • 【学习笔记】NTP时间同步验证