再落下,求它在第15次落地时,共经过多少米?第15次反弹多高?结果保留3位小数。
#include <stdio.h>
void main(){
int i;
float sum=1500; //第一次起一次和掉下一次的米数
float height=1000; //第一次的高度
for(i=2;i<=15;i++){
height = height/2; //每次弹起的高度
sum += height*3/2; //每弹起一次和掉下一次的米数
}
printf("第15次弹起高度是%0.2f,总共经过%0.2f米",height,sum);
}
你题目的解答代码如下:
#include <stdio.h>
int main()
{
int i;
float sum, hight;
sum = 1000.0;
hight = 1000.0;
for (i = 2; i <= 15; i++)
{
hight /= 2;
sum += hight * 2;
printf("第%d次:%.3f %.3f\n", i, sum, hight);
}
printf("%.3f %.3f\n", sum, hight);
return 0;
}
如有帮助,请点击我的回答下方的【采纳该答案】按钮帮忙采纳下,谢谢!
#include <stdio.h>
int main(int argc, char const *argv[])
{
double height = 1000, distance = 0;
distance += height;
for (int i = 0; i < 15; i++)
{
if (i)
distance += 2 * height;
height /= 2;
}
printf("height = %.3lf,distance = %.3lf\n", height, distance);
};