注意:n为0的时候,皮球第n次落地时在空中经过的距离、以及第n次反弹的高度,都是0.0【注意输出要求!!】。还有n==1的时候,h要除以2!
/*高空坠球*/
#include<stdio.h>
int main(){
long int n,i;
double s=0,h;
scanf("%lf %ld",&h,&n);
if(n==0){printf("0.0 0.0");return 0;}//特殊情况分开
s+=h;
if(n==0){printf("0 %d",h);return 0;}
for(i=1;i<=n-1;i++){
h=1.0/2*h;
s+=h*2;
}
printf("%.1f %.1f",s,h/2.0);
return 0;
}
目前我的代码是这样的,以后如果有时间。。就看看能不能改进。