依硕 发表于 2024-1-20 14:07:12

洛谷>大象喝水问题(C语言)

题目描述
一只大象口渴了,要喝20升水才能解渴,但现在只有一个深ℎ厘米,底面半径为r厘米的小圆桶( h 和 r 都是整数)。问大象至少要喝多少桶水才会解渴。
(π取3.14)
输入:11 23;输出:3
提交答案:
#include <stdio.h>
#define Pi 3.14
int main()
{
        int h = 0;
        int r = 0;
        scanf("%d %d", &h, &r);
        int V = 0;
        V = h * (Pi * r * r) / 1000;
        int C = 0;
        C = 20 / V;
        if (20 % V == 0)
        printf("%d", C);
        else
                printf("%d", C + 1);
}
问:问什么只有20分?

FishC 发表于 2024-1-20 14:07:45

题目中给出的条件是大象口渴了需要喝20升水才能解渴。所以我们需要计算大象至少要喝多少桶水才能达到这个数量。

在代码中,首先根据输入的参数计算桶的容积V(单位为立方厘米),然后将V转换为升(除以1000)。接下来,我们计算大象需要喝水的桶数C,即20除以V。如果20除以V的余数为0,说明刚好能整数倍地喝满桶数,所以答案就是C。否则,答案就是C加1。

所以,为了回答你的问题,"问什么只有20分?",其实是因为题目已经给出了大象至少要喝20升水才能解渴的条件,所以代码中使用的是20这个固定值。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
页: [1]
查看完整版本: 洛谷>大象喝水问题(C语言)