同学要我做,自己不会求解答
求解答 第一次落地时经过M米,第二次落地M=(M/2)*2米.第三次落地M=(M/2)*2米…………那么可以: int i;
sum=M;
for(i=1;i<N;i++)
{
M=M/2;
sum+=2M;
}
#include <stdio.h>
int main(void)
{
int k , m , n ;
float d , h = 0.0 ;
scanf("%d,%d" , & m , & n) ;
if(m > 0 && n > 0) for(h = d = m , k = 1 ; k < n ; d /= 2.0 , k ++) h += d ;
printf("%.2f\n" , h) ;
}
编译运行实况:
D:\bin\00.Exercise\C>g++ -o ball ball.c
D:\bin\00.Exercise\C>ball
1000,5
2875.00
D:\bin\00.Exercise\C>
页:
[1]