[C/C++入门][变量和计算]3、梯形面积、通过编程解决数学问题

输出梯形面积(保留两位小数)

1. 先复习一下数学公式

三角形面积 = 底 * 高 / 2

梯形面积 = (上底 + 下底) * 高 / 2

#include<iostream>
using namespace std;
int main()
{
    double h = 150 * 2 / 15;//通过三角形公式求高
	cout << fixed << setprecision(2) << (15 + 25) * h / 2;//梯形面积(上底 + 下底) * 高 / 2
    return 0;
}

代码解析:

当这两个操纵符一起使用时,cout 将会按照固定的小数点格式输出浮点数,并且保证小数点后有两位数字。例如,如果你的浮点数值是 123.456,那么输出将会是 123.46(四舍五入到两位小数)。如果数值是 123.0,输出则会是 123.00

  1. 计算高 h:

    double h = 150 * 2 / 15;

    这里计算梯形的高。150 * 2 是乘法操作,结果是300,然后除以15得到高h,即20。

  2. 计算面积并输出:

    cout << fixed << setprecision(2) << (15 + 25) * h / 2;

    这行代码首先设置cout的格式,使用fixedsetprecision(2)确保输出的浮点数被格式化为两位小数。然后计算梯形的面积,使用公式(上底 + 下底) * 高 / 2,即 (15 + 25) * h / 2,其中h已经计算过,等于20。

  3. 保留小数。在C++中,cout << fixed << setprecision(2) 这样的语句是用来设置控制台输出浮点数的格式。这里是具体的解释:

  4. fixed: 这是一个流操纵符(理解不了就把他当作固定格式吧),它告诉流(在这里是cout)以固定定格式输出浮点数。这意味着小数部分总是会被显示,即使它全是0。

  5. setprecision(2): 这是另一个流操纵符,用来设置小数点后要显示的位数。在这个例子中,我们设置了精度为2,意味着输出的小数点后会显示两位数字。

  6. 使用上面的函数需要引入,这个头文件包含了各种流操纵符,包括fixedsetprecision()
    #include <iomanip>

总结:

代码的主要功能是计算一个已知上底、下底和高的梯形的面积。计算过程使用了基本的数学运算和C++的输入输出流库中的格式化输出。最终,梯形的面积将被计算出来并以保留两位小数的形式输出。

运行结果:

假设h被正确计算为20,则梯形的面积计算为:

(15 + 25) * 20 / 2 = 40 * 20 / 2 = 400

所以,程序应该输出400.00。但是,由于在计算h时没有使用浮点数运算,实际的计算结果可能会因整数除法而产生误差。为了确保精确度,建议在计算h时也使用浮点数除法,即将分母15也转换为浮点数再进行除法运算。正确的做法应该是:

double h = 150 * 2 / 15.0; // 或者使用 300.0 / 15.0

这样可以确保在除法运算中不会丢失精度。

总结

好了,这个题里,变量的数据类型,保留格式,输出都使用到了,那么给你们留个作业,如果三角形面积是用户输入的,你能写出对应的代码吗?

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值