这个题的关键是看清楚题意,我就没看懂题再瞎写,直接n= n+2,n = n-n/k, 这些人是要付钱的,然后,重点来了,在结果上加10^-10才能A,不然就是WA,不明白为什么,求高手解释计算机如何处理浮点数!
追加的:这题貌似不是什么浮点数怪,也许只是不要四舍五入,而是直接进1,比如,2.341,就要付2.35元,所以在算得的结果后加一个0.009就能过,但是rounded不是四舍五入吗?????应该是这题出的不太正常
贴代码:
View Code
1 #include <cstdio> 2 int main() 3 { 4 int n,k; 5 double w; 6 while(~scanf("%d%lf%d",&n,&w,&k)) 7 { 8 n = n +2; 9 n = n - n/k; 10 printf("%.2lf\n",w*n/2.0 + 0.0000000001); 11 } 12 return 0; 13 }