dotcpp0694537


私信TA

用户名:dotcpp0694537

访问量:54

签 名:

等  级
排  名 7161
经  验 1286
参赛次数 0
文章发表 2
年  龄 19
在职情况 学生
学  校 内江师范学院
专  业 软件工程

  自我简介:

解题思路:首先要考虑这是一个往反复运动,第一次下落只有一次运动,以后几次都是往复运动,所以我们只需要把第一次单独提出来计算即可。


注意事项:其中往返运动可能会变成小数,所以最后相加时要考虑精度转换,或者在开始定义时就定义成浮点数。

参考代码:

#include<stdio.h>

#include<math.h>//注意pow函数是计算次方的函数,其包含在<math.h>头文件中,记得提前引用。

int main(void) {

    float m;//m代表初始在m米出;

    int n, i;//n代表弹跳多少次;i是循环变量

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

    float sum =m;

    float h = m;

    if (n == 1) {

        sum = m;

    }                    //这是第一次单独的;

    else {

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

            sum = sum + 2*m / (pow(2, i));

        }

    }//这是当运动大于等于两次的计算;

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

    h = m / pow(2, i);

    }//这里因为i的取值跟上面有一点差距,所以我们提出来单独计算。

    printf("%.2f %.2f", h, sum);

    return 0;

}


 

0.0分

0 人评分

看不懂代码?想转换其他语言的代码? 或者想问其他问题? 试试问问AI编程助手,随时响应你的问题:

编程语言转换

万能编程问答  

代码解释器

代码纠错

SQL生成与解释

  评论区