《C程序设计教程》第5章习题9

/*
  问题:球从100米高度自由落下,每次落地后反弹到原高度的一半,
       第十次落地时,共经过多少米,第十次反弹多高?
  作者:龍之吻(lonkiss)
  时间:2009.10.31
*/

#include <io.hstream.h>
void main()
{
 float h=100,s=100;  //高度初始化为100米;反弹次数反弹经过的总高度,初始化为100
 int n;  //反弹次数  
 for (n=1;n<=10;n++) 
 {
  h=h/2;  //每次反弹高度为原来的一半
  s=s+h*2; //弹起的高度和落下的相同,乘以2
 }

 s=s-h*2;  //多算一次要减掉,注意要在循环体外
 cout<<"第10次反弹时的高度:"<<h<<"米"<<endl;  //第10次反弹时的高度
 cout<<"第10次落地时共经过:"<<s<<"米"<<endl;  //第10次落地时共经过
}

--------------程序运行结果-------------
第10次反弹时的高度:0.0976563米
第10次落地时共经过:299.609米
--------------------------------------

不足之处很多啊  -_-|||

============《C程序设计教程学习辅导》上给的答案==========

#include <stdio.h>

void main()
{
 double sn=100,hn=sn/2; 
 int n;
 for (n=2;n<=10;n++)
 {
  sn=sn+2*hn;
  hn=hn/2;
 }

 printf("第10次落地时共经过%f米/n",sn);

 printf("第10次反弹%f米/n",hn);
}

----------程序运行结果--------

第10次落地时共经过299.609375米

第10次反弹0.097656米

-----------------------------

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值