A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© Thomas-王 中级黑马   /  2015-6-14 21:36  /  1434 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 Thomas-王 于 2015-6-16 14:35 编辑

如题,一个从50m高做自由落体的球体,落地后每次均反弹回原高度的一半落下在反弹。问它在第10次落地时,一共经过多少米,第10次反弹多高。/*
       第10次落地所经过的过程有:
       落下10次和反弹9次
*/
#include<stdio.h>
int main()
{
    double  s = 50,  h= s / 2;          // s为总高度,h为反弹高度
    int i;                                //整型弹跳次数 i
    for(i=1 ;  i < 11;  i++)      
      {  

          s=s+2*h;    //第n次落地时共经过的米数
                            //第一次落地要完成  2次落下   1次反弹    所以第一次的米数为50+25+25
          h=h/2;       //第10次反弹高度
       }
    printf("第10次落地时共经过  %f  米\n" , s);
    printf("第10次反弹  %f  米\n" , h);
    return 0;
}
想了一上午写出来的,想求一个其他的写法学习下,最好是指针。


7 个回复

倒序浏览

回帖奖励 +1

多谢分享,学习了!
回复 使用道具 举报

回帖奖励 +1

还没学到呢,等我会的!
回复 使用道具 举报
mars887 发表于 2015-6-15 23:22
还没学到呢,等我会的!

换成while循环也行
回复 使用道具 举报

技术分都10几个了,犀利呀
回复 使用道具 举报
黑马币换的!
回复 使用道具 举报
这个感觉很难用到指针,大部分接触的指针都是跟数组结合使用。。
回复 使用道具 举报
很遗憾 告诉你你的程序写错了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马