题解 | #牛牛的水杯#
牛牛的水杯
https://www.nowcoder.com/practice/c196c47c23394bf3bdd4f82a838df6bf
#include <stdio.h> #include <math.h> int main() { float r,h,volume,glasses; int glass; scanf("%f %f",&h,&r); volume = 3.14*h*pow(r,2)/1000; glasses = 10/volume; glass = glasses; if(glasses-glass>=1e-6) glass+=1; printf("%d",glass); }
1.volume需要进行单位转换,除以1000之后,单位转为升
2.glass是杯数glass的整数部分,判断两个float浮点数是否相等,常规方法是abs(a-b)=1e-6
3.glasses与glass不相等,说明杯数有小数部分,所以glass+1