标题:用do while循环做这题
只看楼主
psyqin
Rank: 1
等 级:新手上路
帖 子:68
专家分:0
注 册:2006-7-15
结帖率:50%
已结贴  问题点数:20 回复次数:2 
用do while循环做这题
用do while循环做这题:
一球从某一高度落下(整数,单位米),每次落地后反跳回原来高度的一半,再落下。 编程计算气球在第8次落地时,共经过多少米? 第8次反弹多高?
输入一个整数h,表示球的初始高度。
输出包含两行,均保留四位小数(四舍五入)。
第1行:到球第8次落地时,一共经过的米数。
第2行:第8次弹跳的高度。

救助,总是得到不正解。
搜索更多相关主题的帖子: do while 循环 高度 整数 
2018-02-25 14:56
yangfrancis
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:贵宾
威 望:141
帖 子:1510
专家分:7661
注 册:2014-5-19
得分:10 
#include<iostream>
using namespace std;
int main()
{
    float height=0.0f;
    int n=8;
    float total=0.0f;
    cin>>height;
    do
    {
        total=(n==8?total+height:total+height*2);
        height*=0.5;
    }
    while(--n);
    cout<<total<<endl<<height<<endl;
    return 0;
}
2018-02-26 10:58
李昊逸Lion
Rank: 2
来 自:福州
等 级:论坛游民
威 望:2
帖 子:79
专家分:75
注 册:2017-8-1
得分:10 
这个可能比较好理解
程序代码:
#include<cstdio>
double h,s;
int n=7;
int main(){
    scanf("%lf",&h);
    do{
        s+=h*1.5;
        h/=2;
    }while(--n);
    s+=h;
    h/=2;
    printf("%.4lf\n%.4lf",s,h);
    return 0;
}


[此贴子已经被作者于2018-3-4 16:23编辑过]

2018-03-04 16:09



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-484851-1-1.html




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

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