解题思路: 以原题1000米落5次地为例,!下落1000 i上升500 一次落地总路程1500 ------! 下落500 i上升250二次落地总路程750 -------!下落250 i 上升125三次落地总路程375------! 下落125 i上升62.5 四次落地总路程187.5------! 下落62.5 i上升31.25五次落地总路程93.75 (注意:最后上升的31.25多出来的路程,因为最后是下落回升)。利用下落与上升都是递减路程的0.5倍后相加-最后路程=总路程
注意事项:特别注意物体自由下落时,下上为物体运动的总路程,非上升时为总路程
参考代码:
#include<stdio.h>
#include<math.h>
int main()
{
float sum=0,hight=0,x;
int i,n,m;
scanf("%d %d",&m,&n);
for(i=0;i<n;i++) //利用for语句循环计数,从0开始(未下落);当i=0时,i+1表示下落1次
{
sum=m*pow(0.5,i+1); //函数pow(x,y)==x^y
if(i+1>=n) //求最后一段路程
x=sum;
hight=hight+(m*pow(0.5,i+1))+(m*pow(0.5,i))-x; //hight(新值)=hight(旧值)+......
}
printf("%.2f %.2f",sum,hight);
return 0;
}
0.0分
1 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复