解题思路:
首先需要清楚输入和输出分别是什么
输入:小球自由落体的高度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 人评分
C二级辅导-求偶数和 (C语言代码)浏览:664 |
C二级辅导-计负均正 (C语言代码)浏览:698 |
买不到的数目 (C++代码)浏览:909 |
C语言程序设计教程(第三版)课后习题1.6 (C++代码)浏览:909 |
C语言程序设计教程(第三版)课后习题5.4 (C语言代码)浏览:1327 |
printf基础练习2 (有点不明白)浏览:887 |
C语言程序设计教程(第三版)课后习题8.9 (C语言代码)浏览:897 |
sizeof的大作用 (C语言代码)浏览:1591 |
矩阵加法 (C语言代码)浏览:1768 |
字符逆序 (C语言代码)浏览:506 |