解题思路以及注意事项:
用for()循环来模拟反弹的过程,注意不要忘了最后的反弹反弹高度以及开始落下的距离,其他的中间过程都是两倍的反弹高度。
注意不要弄错了scanf()里面的格式。
可以用double进行下强制转换。
实例代码:
#include"stdio.h" int main() { int size,i; double iterm=0,sum=0,high; //一定要初始化,不然后果不堪设想 scanf("%lf %d",&high,&size); iterm=high; for(i=0;i<size;i++) //循环的开始和结束注意一下 { if(i==0) //加上最后的反弹 sum+=iterm; else sum+=2*iterm; //中间过程 iterm=(double)iterm/2; //强制转换,下次反弹前面的二分之一 } printf("%0.2lf %0.2lf",iterm,sum); //注意格式别错了 return 0; }
还有什么不懂的问题大家可以在下方的评论区提问,小方会为您解答
0.0分
71 人评分
#include <stdio.h> int main(void) { double m,sum=0,h=0; int n; scanf_s("%Lf%d", &m, &n); h = m; for (int i = 1; i <= n; i++) { sum += h * 1.5; h /= 2; } printf("%.2Lf %.2Lf\n", h, sum-h); return 0; } 提交结果是答案错误,请大神指正
我觉得有问题 第一次落地后sum不应该是1500.00么?
数组输出 (C语言代码)浏览:767 |
C二级辅导-计负均正 (C语言代码)浏览:647 |
WU-输出正反三角形 (C++代码)浏览:1018 |
1908题解浏览:633 |
2003年秋浙江省计算机等级考试二级C 编程题(1) (C语言代码)浏览:511 |
2006年春浙江省计算机等级考试二级C 编程题(2) (C语言代码)浏览:342 |
分糖果 (C语言代码)浏览:911 |
C语言程序设计教程(第三版)课后习题9.3 (C语言代码)浏览:574 |
小O的乘积 (C++代码)浏览:745 |
简单的a+b (C语言代码)浏览:430 |