当前位置: > 一个编程的问题 :一球从100m高度自由下降,每次落地后反跳回原来高度的一半,在落下....
题目
一个编程的问题 :一球从100m高度自由下降,每次落地后反跳回原来高度的一半,在落下.
求它在第10落地时,共经过多少m?第10次反弹多高 .
我的这个程序 为什么求出来是0
# include
void main ()
{
int i=0,a=100;
for (i=0;i

提问时间:2021-09-15

答案
首先a声明成整数,因此a/2将进行整除,最后将出现1/2=0(整除的结果),这是你程序实现中出现的第一个问题,第二个问题是你没有求算共经过多少米,我的代码如下:
#include
int main(int argc, constchar * argv[])
{
// insert code here...
int i = 0;
double initHeight = 100.00, totalDistance = 0.0;

// 第一次落地的高度为初始高度
totalDistance = 100.0;
for (i = 1 ; i < 10; i++) {
// 反弹的高度为前一次高度的1/2,但是由于反弹后会落下,因此第i+1次落地过程经过的高度为前一次高度,此处为第i+1次落地后经过距离的加算
totalDistance += initHeight;
initHeight = initHeight / 2;
}
// 第10次落地后反弹的高度
initHeight = initHeight / 2;
printf("total distance:%f ", totalDistance);
printf("Height after 10 times:%f ", initHeight);
return0;
}
举一反三
已知函数f(x)=x,g(x)=alnx,a∈R.若曲线y=f(x)与曲线y=g(x)相交,且在交点处有相同的切线,求a的值和该切线方程.
我想写一篇关于奥巴马的演讲的文章,写哪一篇好呢?为什么好
奥巴马演讲不用看稿子.为什么中国领导演讲要看?
想找英语初三上学期的首字母填空练习……
英语翻译
版权所有 CopyRight © 2012-2019 超级试练试题库 All Rights Reserved.