题目
🐷一球从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