大象喝水

一只大象口渴了,要喝 20升水才能解渴,但现在只有一个深 h 厘米,底面半
径为 r 厘米的小圆桶(h 和 r 都是整数)。问大象至少要喝多少桶水才会解渴。

输入格式
输入有一行:包行两个整数,以一个空格分开,分别表示小圆桶的深 h (1≤h≤100) 和
底面半径 r(1≤r≤100),单位都是厘米。

输出格式
输出一行,包含一个整数,表示大象至少要喝水的桶数。
提示
如果一个圆桶的深为 h 厘米,底面半径为 r 厘米,那么它最多能装 π×r×r×h 立方厘米
的水。(设 π=3.14159)
1 升 = 1000=1000 毫升;1 毫升 = 1=1 立方厘米。

如果想用20升水除以水桶装水的体积,然后用 % 判断是否要加一桶水,那么代码如下:

#include <stdio.h>
#define PI 3.14159
int main()
{
    int h,r,V,sum;
    scanf("%d %d",&h,&r);
    V=PI*r*r*h;
    sum=20*1000/V;
	if(20*1000%V==0)
		printf("%d\n",sum);
	else 
		printf("%d\n",sum+1);
	return 0;
}

小编可以很负责的告诉你,上面的一段代码,虽然也能通过大部分数据的测试
,但是它是错的,想法简单粗暴,但写起来并不是那么好写,所以,对于这个
题目,我建议用循环来写比较好。

#include <stdio.h>
#define PI 3.14159
int main()
{
    int h,r,i;
    float V,t;
    scanf("%d %d",&h,&r);
    V=PI*r*r*h;
    t=20*1000-V;
    for(i=1;t>0;i++)		
        t=t-V;
    printf("%d",i);
	return 0;
}

这样编写测试都能通过,在写程序时,当一种算法思维并不是那么好时,
可以试着换一种思维!

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值