解题思路:

建立数学模型。分析下落的过程,把初始的高度看作起点,反弹的高度看作终点,反弹高度是原高度的1/2。

那么把初始高度落下,到反弹结束看作一次完整的过程。经历的米数是原初始高度的1.5倍。

将一次完整的过程进行拆分

      1.一次完整的初始高度(下落至地面!!!)

      2.反弹0.5倍的初始高度。

模型建立完毕,以这个为思想,审题,第n次落地时,经历的米数应该是完整的n次下落过程,减去最后反弹的高度。


注意事项:

  1. 申请题意,是第n次落地时,落地时,落地时(重要事情说三遍)经历过的米数。

  2. 容易忽略经历的米数包括反弹的米数。

参考代码:

#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.0分

1 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 0 条评论

暂无评论