3
9
16
0
10
20.4
36
1 #include <stdio.h> 2 const double eps = 1e-6; 3 int main() 4 { 5 int n; 6 double sum = 0.0; 7 while(scanf("%d",&n) != EOF) 8 { 9 sum = 0.0; 10 if(n == 0) 11 break; 12 if(n <= 4) 13 { 14 sum = 10.0; 15 }else 16 if(n > 4&&n <= 8) 17 { 18 sum = 10 + 2 * (n - 4); 19 }else 20 if(n > 8) 21 { 22 while(n > 8) 23 { 24 sum += 18 ; 25 n -= 8; 26 } 27 if(n <= 4) 28 { 29 sum += 2.4 * n; 30 }else 31 { 32 sum += 10 + (n - 4) * 2; 33 } 34 } 35 int temp = (int)sum; 36 if(sum - temp < eps) 37 { 38 printf("%d\n",temp); 39 }else 40 printf("%.1lf\n",sum); 41 } 42 return 0; 43 }
注意当输出整数时,浮点数判断大小的方法。
原文:https://www.cnblogs.com/Ponytai1/p/12270053.html