解题思路:每次下落是前面的1/2,所有用循环可以直接解决
注意事项:1.它的输出是要取两位小数,所以要用浮点型的数据
2.在输出的时候要注意其要求的是,最后一次落地时将要返弹的高度,以及此时走过的路程(不包括返弹后的高度,所以用sum-M)
参考代码:
#include<stdio.h>
int main(void)
{
double M;
int N;
scanf("%lf %d",&M,&N);
double sum=0;
for(int i=1;i<=N;i++)
{
sum =sum+M+M/2;//以每一次下落和反弹的高度为一次循环
M /=2;//每一次返弹后的高度
}
printf("%.2lf %.2lf",M,sum-M);
}
0.0分
1 人评分
2^k进制数 (C++代码)使用递归方法浏览:736 |
C语言程序设计教程(第三版)课后习题5.8 (C语言代码)浏览:613 |
WU-蓝桥杯算法提高VIP-交换Easy (C++代码)浏览:1186 |
DNA (C语言描述,数据结构)浏览:909 |
【亲和数】 (C语言代码)浏览:628 |
程序员的表白 (C语言代码)浏览:678 |
C语言程序设计教程(第三版)课后习题12.6 (C语言代码)浏览:732 |
C语言程序设计教程(第三版)课后习题9.3 (C语言代码)浏览:630 |
2003年秋浙江省计算机等级考试二级C 编程题(1) (C语言代码)浏览:852 |
C语言程序设计教程(第三版)课后习题7.3 (C语言代码)浏览:555 |