问题及代码
一球从M米高度自由下落,每次落地后返回原高度的一半,再落下。它在第N次落地时反弹多高?共经过多少米?保留两位小数
例如输入1000 5 输出31.25 2875.00
#include <stdio.h>
#include <stdlib.h>
int main()
{
int n,i;
float m,s;//s为第N次弹起时的高度,m为总路程
scanf("%f %d",&m,&n);
s=m/2;//第一次落地弹起m/2
for (i=2;i<=n;i++)//第二次弹起时
{
m=m+s*2;
s=s/2;
}
printf("%.2f %.2f",s,m);
return 0;
}
运算结果
知识点总结
for语句在C语言中的应用 考察逻辑思维能力和数学知识的掌握。
学习心得
要明白for语句是如何循环的,一步一步来多写几步就可以得出答案。