简介:一个球从100m高度处落下,每次落地后反弹回原高度一半,再落下,再反弹。问:它在第十次落地,共运动了多少米,第十次反弹又多高呢?
看代码注释即可
代码如下:
#include <stdio.h>
//两个动作,先是从空中降落到地上,之后反弹到空中。以此类推而已。每次反弹和降落分别记录次数,即可。
int main()
{float h=100.0;float num1=0,num2=0,sum=0;while(h!=0){//开始降落sum=sum+h;//落在地上时计算 num1++;if(num1==10)printf("第%.1f次降落时共经历了sum=%.2f米\n",num1,sum); //开始反弹h=h/2;sum=sum+h;//反弹到空中时的路径长度也算上 num2++;if(num2==10)printf("第%.1f次反弹%f",num2,h); } }
运行结果