| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 4757 人关注过本帖
标题:皮球从100米高落下,每次落下回弹原高度的一半,当第10次落地时经过了多少米 ...
只看楼主 加入收藏
小马不过河
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2016-7-24
结帖率:100%
收藏
已结贴  问题点数:10 回复次数:3 
皮球从100米高落下,每次落下回弹原高度的一半,当第10次落地时经过了多少米,且第10次反弹了多高
#include <stdio.h>
int main(){
    double i,m=1;
    double h=100,r=0.5;
    double j=0,sum=0;
    for(i=1;i<=10;i++){
        m*=0.5;
        j=h*m;
        sum+=h+j;}
   
    printf("%lf %lf\n",j,sum);
    return 0;
}
    像类似的题怎么想?   
搜索更多相关主题的帖子: include double 米高 
2016-07-30 16:04
蝴蝶扣
Rank: 2
等 级:论坛游民
威 望:1
帖 子:52
专家分:76
注 册:2016-7-18
收藏
得分:5 
回复 楼主 小马不过河
我感觉你的程序最终运行的结果不对,到球第十次落地的时候它经过的路程不可能是1099米,我已经将你的程序修改过了,这道题我以前做过,而且我标注了很多注释帮助你理解,虽然是个简单的数学问题,但是总体来说是比较绕的,一定要多想一想,可以在草纸上演算一遍,进而检验你的结果是否正确。
#include <stdio.h>
int main()
{
    double i,m=1;
    double h=100,r=0.5;
    double j=0,sum=0;
    for(i=1;i<=10;i++)
    {
        m*=0.5;
        j=h*m;//落地后反弹的高度
        //sum+=h+j;/* 你这里就有错了,h一直都是100,你sum=sum+h+j;意思是你每次反弹都要加上100,所以导致最终结果是l099多 */
        sum=sum+j*2;/* 这里必须加上2*j,因为球从反弹到落下,要经历往返两次,我们这里求的是路程必须乘2 */
    }
    sum=sum+h-2*j;//当循环反弹结束以后,再加上刚下落时的高度h=100,因为我们只求小球第十次落地时经过的路程,所以要减去第十次落地后反弹的路程*/
   
    printf("%lf %lf\n",j,sum);
    return 0;
}
2016-07-31 10:46
平常心q
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:7
帖 子:120
专家分:550
注 册:2016-3-31
收藏
得分:4 
# include <stdio.h>

int main(void)
{
    float sn = 100.0, hn = sn / 2;
    int n;
    for(n=2;n<=10;n++)
    {
        sn = sn + 2 * hn;/*第n次落地时共经过的米数*/
        hn = hn / 2; /*第n次反跳高度*/
    }
    printf("共经过%f米\n", sn);
    printf("第10次反弹%f米\n", hn);
   
    return 0;
}
2016-07-31 12:16
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9008
专家分:53957
注 册:2011-1-18
收藏
得分:1 
第1次落地,经过了100米,其后反弹50米
第2次落地,经过了…+100米,其后反弹25米
第3次落地,经过了…+50米,其后反弹12.5米
第4次落地,经过了…+25米,其后反弹6.25米
…………
前面是个等比数列求和:(1-1/(2^n))*400-100
后面:100/(2^n)

程序代码:
#include <stdio.h>

int main( void )
{
    const int n = 10;
    printf( "%lf, %lf\n", (1-1.0/(1<<n))*400-100, 100.0/(1<<n) );

    return 0;
}

输出 299.609375, 0.097656
2016-08-01 08:48
快速回复:皮球从100米高落下,每次落下回弹原高度的一半,当第10次落地时经过了 ...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.020743 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved