
分析问题
同学们,你们好!今天我们来解决一个关于梯形面积的问题。梯形是什么样子的呢?想象一下一个滑梯的侧面,或者一个倒过来的梯形盒子——它有两条平行边(一条在上面,一条在下面),这两条边分别叫做“上底”和“下底”,它们之间的距离叫做“高”。就像下图这样:
上底 a
--------
\ \
\ \ <-- 这是梯形的两条斜边
\ \
---------
下底 b
高 h(垂直距离)
要计算梯形的面积,我们用一个简单的公式:
面积 = (上底 + 下底) × 高 ÷ 2
为什么这样算呢?我们可以这样想:
- 先加上上底和下底的长度(这就像把两条平行边“连接”起来)。
- 然后乘以高(这相当于算出一个“大长方形”的面积,但梯形不是长方形,所以我们需要调整)。
- 最后除以 2(因为两个相同的梯形可以拼成一个平行四边形,所以一个梯形的面积是它的一半)。
举个例子:
- 如果上底是 2 厘米,下底是 3 厘米,高是 5 厘米(就像题目中的样例)。
- 计算:
(2 + 3) = 5→5 × 5 = 25→25 ÷ 2 = 12.5 - 所以面积是 12.5 平方厘米(保留一位小数)。
现在,我们要写一个计算机程序来解决这个问题:
- 输入:从键盘输入三个整数(上底 a、下底 b、高 h)。
- 计算:用公式
(a + b) × h ÷ 2算出面积(注意:计算机需要知道我们要小数结果)。 - 输出:显示面积,保留一位小数(比如 12.5,不能写成 12.50 或 12)。
建立模型(简单步骤)
我们可以把问题分解成几个小步骤,就像做数学题一样:
- 读数据:让计算机“读”三个数字(a, b, h)。
- 算面积:
- 先算
a + b(上底加下底)。 - 再乘
h(乘以高)。 - 最后除以 2(注意:要除以 2.0,这样计算机才知道结果是小数)。
- 显示结果:把面积四舍五入到一位小数(比如 12.56 变成 12.6,12.54 变成 12.5)。
编写程序
下面是解决这个问题的 C++ 程序。代码很简单,我会加上注释(// 后面的文字)帮你理解每一行在做什么:
#include <iostream>
#include <iomanip> // 这个头文件用来控制小数位数
using namespace std;
int main() {
int a, b, h; // 定义三个整数变量:a(上底)、b(下底)、h(高)
cin >> a >> b >> h; // 从键盘读入三个数字,比如输入 "2 3 5"
// 计算面积:公式 (a + b) * h / 2.0(除以 2.0 确保得到小数结果)
double area = (a + b) * h / 2.0;
// 设置输出格式:保留一位小数(fixed 表示固定小数格式)
cout << fixed << setprecision(1);
cout << area << endl; // 输出面积,比如 12.5
return 0;
}