解题思路:
首先需要清楚输入和输出分别是什么
输入:小球自由落体的高度M;以及小球反弹的次数N;
输出:小球第N次反弹的高度,小球在第N次反弹经过的总路程。
第一次反弹 路程:s1=M 反弹高度:h1=M/2;
第二次反弹 s2=s1+h1*2 h2=h1/2;
第三次反弹 s3=s2+h2*2 h3=h2/2;
....
以此类推,第n次反弹的高度等于前一次反弹高度的1/2,第n次反弹经过的总路程等于前一次反弹的路程加上前一次反弹高度的两倍。
注意事项:
反弹的总路程是指到第N次落地时的路程,不包括第N次反弹后的高度),然后对输出格式的要求是 保留两位小数。
参考代码:
int main() {
float m, n;
printf("请输入球抛下时的高度和弹回的次数:");
scanf("%f%f", &m, &n);
double h = m / 2;
double s = m ;
for (int i = 1;i < n;i++) {
s = s + 2 * h;
h = h * (1.0 / 2);
}
printf("%.2lf %.2lf", h, s);
return 0;
}
0.0分
0 人评分
点我有惊喜!你懂得!浏览:2016 |
点我有惊喜!你懂得!浏览:2739 |
剔除相关数 (C语言代码)浏览:1049 |
C语言训练-立方和不等式 (C语言代码)浏览:775 |
C语言程序设计教程(第三版)课后习题6.8 (C语言代码)浏览:793 |
C语言训练-阶乘和数* (C语言代码)-------- 呆板写法浏览:1391 |
【计算球体积】 (C语言代码)浏览:1148 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:642 |
愚蠢的摄影师 (C++代码)浏览:964 |
蚂蚁感冒 (C语言代码)浏览:1402 |