blue


私信TA

用户名:uq_92644942754

访问量:244

签 名:

再见少年拉满弓,不惧岁月不惧风

等  级
排  名 3399
经  验 1884
参赛次数 0
文章发表 7
年  龄 21
在职情况 学生
学  校
专  业

  自我简介:

解题思路:
首先需要清楚输入和输出分别是什么

输入:小球自由落体的高度M;以及小球反弹的次数N;

输出:小球第N次反弹的高度,小球在第N次反弹经过的总路程。

第一次反弹 路程:s1=M 反弹高度:h1=M/2;

第二次反弹 s2=s1+h1*2    h2=h1/2;

第三次反弹 s3=s2+h2*2    h3=h2/2;

....

以此类推,第n次反弹的高度等于前一次反弹高度的1/2,第n次反弹经过的总路程等于前一次反弹的路程加上前一次反弹高度的两倍。

注意事项:
反弹的总路程是指到第N次落地时的路程,不包括第N次反弹后的高度),然后对输出格式的要求是 保留两位小数。

参考代码:

int main() {

    float m, n;

    printf("请输入球抛下时的高度和弹回的次数:");

    scanf("%f%f", &m, &n);

    double h = m / 2;

    double s = m ;

    for (int i = 1;i < n;i++) {

        s = s + 2 * h;

        h = h * (1.0 / 2);

    }

    printf("%.2lf %.2lf", h, s);

    return 0;

}


 

0.0分

0 人评分

  评论区