m0_73617947 2023-02-16 14:46 采纳率: 66.7%
浏览 56
已结题

c语音c26451算术溢出问题

#include<stdio.h>
void main()
{
    int v,n;//m化升,n是桶数
    int h, r; {};
    scanf_s("%d %d", &h,&r);
    v = h * r*r*3.14 / 1000;
    n = 20 / v;
    printf("%d", n+1);
}

v= 那一行显示算术溢出,请问怎么解决

  • 写回答

2条回答 默认 最新

  • Huazie 优质创作者: 编程框架技术领域 2023-02-16 14:50
    关注

    参考如下:

    #include<stdio.h>
    #include<math.h>
    int main()
    {
        double v;
        int n;  // n是桶数
        int h, r; {};
        scanf_s("%d %d", &h,&r);
        v = h * r*r*3.14 / 1000;
        n = (int)ceil(20 / v);  // ceil(x)返回不小于x的最小整数值(然后转换为double型)。
        printf("%d", n);
        return 0;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 2月24日
  • 已采纳回答 2月16日
  • 创建了问题 2月16日