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

计算三角形面积时结果始终为0,求代码问题排查方案

三角形面积计算结果始终为0的问题分析

你的代码有两个关键错误导致结果一直是0:

  • 计算顺序完全颠倒:你在读取用户输入的底和高之前,就提前计算了area。此时base和height是未初始化的局部变量,值是随机的,但因为第二个错误,最终结果直接变成0。正确的逻辑应该是先获取用户输入的底和高,再计算面积。
  • 整数除法导致无效计算:1/2属于整数除法,两个整数相除会直接舍弃小数部分,所以结果是0而不是0.5。用0去乘任何数,结果自然都是0。

修正后的代码如下:

#include <iostream>
using namespace std;

int main() {
  int base, height;
  // 改用double类型存储面积,避免整数截断
  double area;

  cout << "Enter the base: ";
  cin >> base;

  cout << "Enter the height: ";
  cin >> height;

  // 用0.5代替1/2,确保浮点运算
  area = 0.5 * base * height;

  cout << "The area is: " << area << endl;
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.23 13:57:19