解题思路:求第n次反弹,则总距离:n次下落加n-1次反弹
注意事项:
参考代码:
#include <stdio.h>
#include <math.h>
main()
{
int m,n,i; //m:球初始下降高度;n:落地后反弹次数
float x,sum; //x:反弹高度;sum:总路程
scanf("%d%d",&m,&n);
sum=m; //第一次落地的距离
for(i=1;i<=n;i++)
{
x=m/pow(2,i); //x=m除2的i次方,循环n次,每循环一次,反弹高度减半
if(i==n) break; //如果不跳出,则总距离累加多一次!
y+=2*x; //循环n-1次,每次累加反弹高度+下落高度的和(反弹高度=下落高度)
}
printf("%.2f %.2f\n",x,sum);
}
0.0分
4 人评分
为啥我这么写过不了? #include<stdio.h> #include<math.h> int main() { int M,N,i; float sum,h; scanf("%d,%d",&M,&N); sum=(float)M; for(i=1;i<=N;i++) { h=(float)M/pow(2,i); sum+=2*h; } sum-=2*h; printf("它在第%d次落地时反弹%.2f米\n",N,h); printf("共经过%.2f米",sum); return 0; }
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:849 |
母牛的故事 (C语言代码)浏览:782 |
C语言程序设计教程(第三版)课后习题11.1 (C语言代码)浏览:822 |
C语言程序设计教程(第三版)课后习题1.5 (C++代码)浏览:778 |
C语言训练-求1+2!+3!+...+N!的和 (C语言代码)浏览:822 |
C语言程序设计教程(第三版)课后习题8.5 (C语言代码)浏览:956 |
a+b浏览:452 |
Hello, world! (C语言代码)浏览:766 |
DNA (C语言代码)浏览:440 |
1134题解(求分析)浏览:795 |