1吴卓文


私信TA

用户名:dotcpp0732293

访问量:132

签 名:

等  级
排  名 17639
经  验 734
参赛次数 0
文章发表 1
年  龄 0
在职情况 学生
学  校
专  业

  自我简介:

TA的其他文章

解题思路:

H为high,S为sum。

for循环实现。



注意事项:

①for (int i = 1; i < N; i++):从i=1开始循环,即球从1000M落下后开始计算,所以S初始值先加上初始的H(1000)。

②for (int i = 1; i < N; i++):i<N,而不是i<=N,是因为最后一次的弹起高度不算在总S里!!!

③printf("%.2f %.2f", H/2, S):H/2,是因为只循环了N-1次,此时的H是第N-1次的高度。

④ printf("%.2f %.2f", H/2, S):%.2f %.2f保留两位小数,隔空输出


参考代码:

#include <stdio.h>


int main() {

    float M, N, H, S;

    scanf("%f %f", &M, &N); 

    H = M ;

    S = M ;// 初始化H和S均为M的值

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

        H /= 2.0f; 

        S += 2*H; 

    }

    printf("%.2f %.2f", H/2, S); 

    return 0;

}


 

0.0分

2 人评分

  评论区