(第21列)C语言典型题:一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?
原创
©著作权归作者所有:来自51CTO博客作者小黎的培培笔录的原创作品,请联系作者获取转载授权,否则将追究法律责任
先看结果:
直接代码解析:
#include<stdio.h>
int main()
{
float i=1,h=100,sum=0,num;
while(i<11)
{
sum+=(h/2+h); //sum表示总长度,原高度加高度的一半
h/=2; //每次下落后高度减半
if(i==10)
{
num=h; //记录第十次的高度
}
i++; //累加
}
printf("\n总路程:%f,\n\n第十次高度为:%f\n",sum,num);
return 0;
}
空白代码:
#include<stdio.h>
int main()
{
float i=1,h=100,sum=0,num;
while(i<11)
{
sum+=(h/2+h);
h/=2;
if(i==10)
{
num=h;
}
i++;
}
printf("\n总路程:%f,\n\n第十次高度为:%f\n",sum,num);
return 0;
}