先看结果:

(第21列)C语言典型题:一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?_开发语言

直接代码解析:
#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;
}