题目
🐷一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?
一、分析
🐷利用for()循环函数求出10次后的结果。
二、代码
🐷代码如下(示例):
/*小球自由落体*/
#include<stdio.h>
int main(void){
double height=100; //定义初始高度变量height为100
double S = -100; //定义初始经过距离为-100,(详情见下)
for(int i=0;i<10;i++){
S += height*2; //除第一次下落外,每次下落间隔为两个返回高度,则初始S赋值为-100.
height /= 2; //求第十次反弹高度
}
/*输出值*/
printf("When 10th landing,there are %lf meters.\n",S);
printf("10th height is %.8f meters.\n",height); //第十次反弹高度共有8位小数
return 0;
}
总结
🦆做题时注意循环的每次条件是否一样,比如第一次小球下落时只有1倍的高度,而之后每两次反弹之间经过距离都为两倍的反弹高度🦆
2021.12.28
这篇博客通过编程解决了一道数学问题:小球从100米落下,每次落地反弹回原高度一半,计算第10次落地时总经过的距离和反弹高度。分析中强调了循环条件的变化,并提供了C语言的实现代码。最后提醒注意循环内的细节处理。

3793

被折叠的 条评论
为什么被折叠?



