求梯形的面积

分析问题

同学们,你们好!今天我们来解决一个关于梯形面积的问题。梯形是什么样子的呢?想象一下一个滑梯的侧面,或者一个倒过来的梯形盒子——它有两条平行边(一条在上面,一条在下面),这两条边分别叫做“上底”和“下底”,它们之间的距离叫做“高”。就像下图这样:

上底 a
--------
\        \
 \        \  <-- 这是梯形的两条斜边
  \        \
   ---------
     下底 b
高 h(垂直距离)

要计算梯形的面积,我们用一个简单的公式:
面积 = (上底 + 下底) × 高 ÷ 2
为什么这样算呢?我们可以这样想:

  1. 先加上上底和下底的长度(这就像把两条平行边“连接”起来)。
  2. 然后乘以高(这相当于算出一个“大长方形”的面积,但梯形不是长方形,所以我们需要调整)。
  3. 最后除以 2(因为两个相同的梯形可以拼成一个平行四边形,所以一个梯形的面积是它的一半)。

举个例子:

  • 如果上底是 2 厘米,下底是 3 厘米,高是 5 厘米(就像题目中的样例)。
  • 计算:(2 + 3) = 55 × 5 = 2525 ÷ 2 = 12.5
  • 所以面积是 12.5 平方厘米(保留一位小数)。

现在,我们要写一个计算机程序来解决这个问题:

  1. 输入:从键盘输入三个整数(上底 a、下底 b、高 h)。
  2. 计算:用公式 (a + b) × h ÷ 2 算出面积(注意:计算机需要知道我们要小数结果)。
  3. 输出:显示面积,保留一位小数(比如 12.5,不能写成 12.50 或 12)。

建立模型(简单步骤)

我们可以把问题分解成几个小步骤,就像做数学题一样:

  1. 读数据:让计算机“读”三个数字(a, b, h)。
  2. 算面积
  • 先算 a + b(上底加下底)。
  • 再乘 h(乘以高)。
  • 最后除以 2(注意:要除以 2.0,这样计算机才知道结果是小数)。
  1. 显示结果:把面积四舍五入到一位小数(比如 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;
}

保存 编译 运行