题目描述
一球从M米高度自由下落,每次落地后返回原高度的一半,再落下。 它在第N次落地时反弹多高?共经过多少米? 保留两位小数
输入
M N
输出
它在第N次落地时反弹多高?共经过多少米? 保留两位小数,空格隔开,放在一行
样例输入
1000 5
样例输出
31.25 2875.00
#include<stdio.h>
int main()
{
float h;
int n ;
int i;
float ret ;
float sum = 0;
scanf("%f %d", &h,&n);
if(n==1)
{
sum=h;
ret=h/2;
printf("%.2lf %.2lf",ret,sum);
}
else
{
float s=h;
for (i = 2;i <=n;i++)
{
h=h/2;
s=s+h*2;
ret=h/2;
}
printf("%.2lf %.2lf", ret,s);
}
}
PS:本题逻辑要想一下,还有变量定义的位置有考究,本体为个人独特想法,欢迎各位大佬指点!