一球从M米高度自由下落,每次落地后返回原高度的一半,再落下。 它在第N次落地时反弹多高?共经过多少米? 保留两位小数

一球从M米高度自由下落,每次落地后返回原高度的一半,再落下。 它在第N次落地时反弹多高?共经过多少米? 保留两位小数

#include

int main(){
    int i,size;
	double high,sum=0.0;
	scanf("%lf %d",&high,&size);
    for(i=1;i<=size;i++){	 //用for()循环来模拟反弹的过程,
    				 	     //注意不要忘了最后的反弹反弹高度以及开始落下的距离
							 //其他的中间过程都是两倍的反弹高度。
		if(i==1){       	 
    		sum+=high;        //第一次落地时
		}
		else{
			sum+=high*2; 	 //中间过程都是两倍的反弹高度。
		}
		high=high/2;        //反弹高度
	}
	printf("%.2lf %.2lf",high,sum);
	return 0;
}

你可能感兴趣的:(C语言与算法基础,一球从M米高度自由下落,每次落地后返回原高度的一半,再落下。,它在第N)