TT090124 2021-08-14 20:24 采纳率: 66.7%
浏览 17
已结题

为什么会出错,样例都过了

梯形面积(普及B)
今天数学课上,M教同学们计算梯形面积,定义哥打算用计算机来算梯形面积,请你帮他实现程序。已知:梯形面积=(上底+下底)*高/ 2。

输入数据:三个正整数a, b, h,用一个空格隔开,分别表示梯形的上底、下底和高
输出数据:一个实数(保留一位小数),表示梯形的面积。

输入样例:2 7 4
输出样例:18.0

#include<iostream>
using namespace std;

int a,b,h;
int sum;
int main()
{
    freopen("area.in","r",stdin);
      freopen("area.out","w",stdout);
      cin >> a >> b >> h;
      sum=(a+b)*h/2;
      printf("%.1f",sum);
      return 0;
}
  • 写回答

1条回答 默认 最新

  • codeaftercode 2021-08-14 20:49
    关注

    关键在这一步:

    sum=(a+b) * h/2;
    

    改成

    float  sum=(a+b) * h/2.0;
    

    或改成:

    float  sum=(a+b) * h * 0.5;
    

    原因:
    在c/c++语言中,加、减、乘运算都和小学数学没什么区别
    除法就有个特殊之处:两个整型相除,结果是整型!比如3/2结果是1而不是1.5。但整型与浮点型相除,结果是浮点型。如3.0/2或者3/2.0结果都是1.5
    所以在除法运算时,一定要考虑好参与运算的两个数是否均为整数。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 8月22日
  • 已采纳回答 8月14日
  • 创建了问题 8月14日

悬赏问题

  • ¥15 数据库原理及应用上机练习题
  • ¥30 征集Python提取PDF文字属性的代码
  • ¥15 如何联系真正的开发者而非公司
  • ¥15 有偿求苍穹外卖环境配置
  • ¥15 代码在keil5里变成了这样怎么办啊,文件图像也变了,
  • ¥20 Ue4.26打包win64bit报错,如何解决?(语言-c++)
  • ¥15 clousx6整点报时指令怎么写
  • ¥30 远程帮我安装软件及库文件
  • ¥15 关于#自动化#的问题:如何通过电脑控制多相机同步拍照或摄影(相机或者摄影模组数量大于60),并将所有采集的照片或视频以一定编码规则存放至规定电脑文件夹内
  • ¥20 (求远程解决)深信服vpn-2050这台设备如何配置才能成功联网?