三极管


私信TA

用户名:weiwangdong

访问量:3651

签 名:

等  级
排  名 472
经  验 4713
参赛次数 3
文章发表 11
年  龄 0
在职情况 教师
学  校 绍兴职业技术学院
专  业

  自我简介:

解题思路: 20*1000/v(v为小圆桶体积),只要实现向正无穷取整就行。两种思路:1、通过ceil函数;2、通过(int)取整。

注意事项: ceil函数返回的double型;而(int)是向零取整,可以加上0.99999或者更大的数。

参考代码: 

1、通过ceil函数

#include <stdio.h>
#include <math.h>
int main()
{
    int h, r;
    double v;
    scanf("%d%d", &h, &r);
    v = 3.14159*r*r*h;
    printf("%.0f\n", ceil(20*1000/v));
    return 0;
}

2、通过(int)取整

#include <stdio.h>
int main()
{
    int h, r;
    double v;
    scanf("%d%d", &h, &r);
    v = 3.14159*r*r*h;
    printf("%d\n", (int)(20*1000/v+0.99999));
    return 0;
}


 

0.0分

10 人评分

  评论区

想问一下这里为什么是加0.9999999,我是想直接加1,不太明白有什么区别
2023-04-14 15:07:10
  • «
  • 1
  • »