解题思路:
建立数学模型。分析下落的过程,把初始的高度看作起点,反弹的高度看作终点,反弹高度是原高度的1/2。
那么把初始高度落下,到反弹结束看作一次完整的过程。经历的米数是原初始高度的1.5倍。
将一次完整的过程进行拆分
1.一次完整的初始高度(下落至地面!!!)
2.反弹0.5倍的初始高度。
模型建立完毕,以这个为思想,审题,第n次落地时,经历的米数应该是完整的n次下落过程,减去最后反弹的高度。
注意事项:
申请题意,是第n次落地时,落地时,落地时(重要事情说三遍)经历过的米数。
容易忽略经历的米数包括反弹的米数。
参考代码:
#include<stdio.h> void main() { int n,i; //n是次数 float m,sum=0.0; //m是初始高度,sum是经历米数(这里一定要初始化经历米数,不然会报错) scanf("%f%d",&m,&n); for(i=1;i<=n;i++){ sum=sum+m; //拆分完整过程中的第一步,下落至地面 m=m/2; //计算反弹的高度,同时覆盖为下一次完整过程的初始高度 sum=sum+m; //拆分完整过程中的第二步,下落至地面 } printf("%0.2lf %0.2lf\n",m,sum-m); //题目说落地时的米数,所以减去最后的反弹高度 }
该过程注重建模思想,代码仅供参考。
0.0分
1 人评分
C语言程序设计教程(第三版)课后习题3.7 (C++代码)浏览:1001 |
C语言程序设计教程(第三版)课后习题6.3 (C语言代码)浏览:521 |
C语言程序设计教程(第三版)课后习题10.7 (C语言代码)浏览:549 |
C语言程序设计教程(第三版)课后习题6.8 (C++代码)浏览:596 |
C语言程序设计教程(第三版)课后习题11.1 (C语言代码)浏览:627 |
数对 (C语言代码)浏览:704 |
字符逆序 (C语言代码)浏览:461 |
剪刀石头布 (C++代码)浏览:1725 |
DNA (C语言代码)浏览:761 |
C语言程序设计教程(第三版)课后习题5.4 (C语言代码)浏览:473 |