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

C语言编写圆面积计算代码得到错误输出问题

问题原因

  • 核心错误是C语言的整数除法截断规则:当除法的两个操作数都是int类型时,会执行整数除法,直接舍弃小数部分,仅保留整数结果。
  • 你的预期公式是22/7*r*r,如果用整数运算的话22/7的结果是3,代入r=7计算得到3*7*7=147,正好和你得到的错误输出一致。
  • 你贴出的代码中1/7*radius的写法也存在同样问题,1和7都是int类型,1/7运算结果为0,会得到完全错误的0值,属于公式排版和运算优先级的双重错误。

修复方案

只需要把除法的其中一个操作数改为浮点类型,触发浮点除法即可,同时对齐圆面积的正确公式πr²,修正后的aoc函数如下:

float aoc (float radius)
{
    // 用22.0触发浮点除法,得到正确的π近似值
    float area = 22.0 / 7 * radius * radius;
    return area;
}

修改后输入半径7,就会得到预期的154左右的输出结果。


内容的提问来源于stack exchange,提问作者Aàrohan YT

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 07:15:04