C程序:一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在

来源:百度知道 编辑:UC知道 时间:2024/06/18 06:40:01
共经过多少米?第10次反弹多高?这是题目,我编写的程序,有一点不对,
#include <stdio.h>
main()
{float height=100.0,sum_height;
int i;
clrscr();
for(i=1;i<=10;i++) {
sum_height=height+height/2;
height=height/2; }
printf("%fm\n",sum_height);
printf("%fm\n",height);
getch();
return 0;
}
在输出的时候,0.292969m /*这个输出不对,应该是299.609375m,我是不是逻辑错了,但我想,这算错这不会是小数啦*/
0.097656m

#include <stdio.h>
main()
{float height=100.0,sum_height=100;
int i;
for(i=1;i<10;i++) {
height=height/2;
sum_height+=height*2;
}
printf("%fm\n",sum_height);
printf("%fm\n",height);
return 0;
}
第一次从100米高落下。
以后都是弹上落下所以乘以2

#include <stdio.h>
void main()
{float m=100.0,n=0,sum=0;
int i;
for(i=1;i<=10;i++) {
n=m/2;//m为初始高度,n为每次谈起的高度
sum=sum+m+n; //sum初始值为0
m=n;//变化下一次的弹起的初始高度
}
printf("%f\n",sum);
printf("%f\n",n);
system("pause");
}
再说下你的程序,第一,你的逻辑就有错误,你的sum_height只为每次的下落的高度+弹起的高度,以前的根本加进去。第二,我也不明白你为什么要加clrscr()这个函数。

错在for循环里,你这样赋值sum_height=(3/2)height 应该是sum_height+=height;你试试看。

一个球从100米高度自由落下 一从100米高度自由落下每次落地后反跳回原高一半再落编写程序求在第10次落地共经几米第10次反跳多高 题目:一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在 ●●●●C语言~一个球从100米高度自由落下,每次落地后反弹回原高度的一半,再落下。求它在第10次落地时, 一球从100米高度自由落下每次落地后反向跳回原高度的一半求它在第十瓷落地时共经过多少米第十次反弹多高 C程序:一球从100米下落每次落地后返回原高度的一半落下求它在第十次落地时共经历几米、第十次反弹多高 球从100米高自由落下,每次落地后反跳回原高度的一半。它在第10次落地时经过多少米?C语言编程 一球从100米高自由落下,每次落地反跳原高度的一半,再落下,求在第10次落地时,共经过多少米?第10次反弹多高 为什么不同质量的钢球从同一高度自由落下时间相同? 如何让一个从5.4米高度自由下落的熟鸡蛋不摔碎?