You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为何计算五边形面积的C++函数输出结果为0而非预期值?

五边形面积计算函数返回0的问题解决

问题出在代码中的整数除法:1/4在C++中会被当作两个整数运算,结果直接舍去小数部分,得到0。这导致整个面积计算式的结果被0相乘,最终返回0。

解决方案

将整数除法改为浮点数除法,确保运算过程中使用浮点类型计算:

  • 把1/4替换为1.0/4(或1/4.0),让编译器识别为浮点数运算
  • 或者直接使用0.25代替1/4

修正后的代码

#include <iostream>
#include <cmath>

double area_of_pentagon(int side){
  double area = 1.0/4 * sqrt(5*(5+2*sqrt(5))) * side * side;
  return area;
}

int main(){
  std::cout.precision(4); // 控制输出精度以匹配预期结果
  std::cout << area_of_pentagon(6) << std::endl;
}

运行修正后的代码,输入边长6时会输出约61.94(实际精确值为61.9372),符合预期。

内容的提问来源于stack exchange,提问作者asvalk1672

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 10:57:36