题解 | #求小球落地5次后所经历的路程和第5次反弹的高度#

求小球落地5次后所经历的路程和第5次反弹的高度

https://www.nowcoder.com/practice/2f6f9339d151410583459847ecc98446

#include <stdio.h>
#include <math.h>
#include <string.h>
int main() {
    int n = 0;
    float nf = 0;
    scanf("%d",&n);
    nf = (float) n;
    float len = nf *(pow(0.5, 0) + 2*pow(0.5, 1) + 2*pow(0.5, 2) + 2*pow(0.5, 3) + 2*pow(0.5, 4));
    float hf = nf*pow(0.5,5);
    char hfstr[16] = {0};
    int hfstrLen = 0;
    sprintf(hfstr, "%f", len);
    hfstrLen = strlen(hfstr);
    for(int i = hfstrLen; i >0; i--)
    {
        if('0' == hfstr[i-1])
            hfstr[i-1] = 0;
        else
          break;
    }

    printf("%s\n%1.5f",hfstr,hf);
    return 0;
}

全部评论
此题关键是按照要求输出固定长度的小数字串,其他模拟运算直接列式子求出即可
点赞 回复 分享
发布于 03-11 14:35 广东

相关推荐

三年之期已到我的offer快到碗里来:9硕都比不上9本
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务