一只大象要喝 2020 升水才能解渴,但现在只有一个深 h 厘米,底面半径为 r厘米的小圆桶(h和 r 都是整数)。问大象至少要喝多少桶水才会解渴。
大象喝水的问题为啥这样运行的结果不对啊
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
5条回答 默认 最新
- 莪是男神 2022-10-02 00:39关注
我给你看个示例,你就明白了:
/* elephantsDrinking.c -- 实现大象喝水 */ #include <stdio.h> #include <math.h> // 定义圆周率常量 #define PI 3.1415926 /* 一只大象要喝 2020 升水才能解渴,但现在只有一个深 h 厘米,底面半径 为 r 厘米的小圆桶(h 和 r 都为整数),问大象至少要喝多少桶水才会解渴? */ int main(void) { // 定义整型变量 h, r int h, r; // 提示性输出 printf("请输入小圆桶的高度和底面半径:"); // 读取高和底面半径 scanf("%d%d", &h, &r); // 计算体积,单位平方厘米 double volume = PI * r * r * h; // 计算喝多少桶水的数量 double num = 2020.0D / (volume / 1000000.0D); // 输出喝多少桶的数量 printf("总共要喝%.0f桶\n", floor(num)); return 0; }
floor()
函数可以向下取整,但是返回的数也是一个double
类型的浮点数。
使用整型变量接收其值会有精度丢失的风险,所以最后的结果不对
此外,你的 scanf() 函数的使用也有问题,你直接把参与也放进了字符串里,这是不对的,
可能导致程序代码无法运行,或运行有问题本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报 编辑记录
悬赏问题
- ¥15 基于卷积神经网络的声纹识别
- ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
- ¥100 为什么这个恒流源电路不能恒流?
- ¥15 有偿求跨组件数据流路径图
- ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值
- ¥15 我想咨询一下路面纹理三维点云数据处理的一些问题,上传的坐标文件里是怎么对无序点进行编号的,以及xy坐标在处理的时候是进行整体模型分片处理的吗
- ¥15 CSAPPattacklab
- ¥15 一直显示正在等待HID—ISP
- ¥15 Python turtle 画图
- ¥15 stm32开发clion时遇到的编译问题