c语言60分求助

P5709 【深基2.习6】Apples Prologue / 苹果和虫子

思路没问题,细节出错了: `ceil(s/t)` **这里s和t都是整数,算除法的时候会自动向下取整** 所以需要把s换成实数类型:`ceil(1.0*s/t)` AC代码: ```c #include <stdio.h> #include <math.h> int main() { int m, t, s; scanf("%d %d %d",&m, &t, &s); int eat = ceil(1.0*s/t); int final = m-eat; if(t!=0) { if(final<0) { printf("0"); } else { printf("%d",final); } } else { printf("0"); } return 0; } ```
by zhang_feng_rui @ 2023-11-02 21:30:30


首先指出一个无关紧要的问题,记录吃掉的苹果数的变量,变量名用 `eaten` 或许更好一些(~~在洛谷你甚至可以学到英语知识~~ `ceil(s/t)` 中,`s/t` 会自动向下取整(整数除以整数等于整数),所以应为 `ceil(1.0*s/t)`。 而且 `t` 可能等于 $\small0$ , 所以应将 `eat` 和 `final` 的定义放在 `if (t!=0) { ... } ` 的语块内。 @[great_mad](/user/1160345)
by YMnRb @ 2023-11-02 21:32:56


|