(C语言)小玉在游泳

博客给出一个编程问题,小玉游泳第一步能游2米,后续每步是上一步的98%,需编程计算游到目标距离所需步数。给出输入输出描述及示例,还提及代码处理思路,如在for循环第三语句或循环体里处理,因数据类型做>=处理。

时间限制:1000ms内存限制:256M

题目描述

小玉开心的在游泳,可是她很快难过的发现,自己的力气不够,游泳好累哦。已知小玉第一步能游2米,可是随着越来越累,力气越来越小,她接下来的每一步都只能游出上一步距离的98%。现在小玉想知道,如果要游到距离x米的地方,她需要游多少步呢。请你编程解决这个问题。

输入描述:

输入一个数字(不一定是整数,小于100m),表示要游的目标距离。

输出描述:

输出一个整数,表示小玉一共需要游多少步。

示例 

输入4.3

输出3

代码如下:

#include<stdio.h>
int main()
{
    float x, a, b;
    int c;
    scanf("%f", &x);
    for (b = 2; b >= 0;)
    {
        a = a + b;
        b = b * 0.98;
        c++;
        if (a >= x)
        {
            printf("%d", c);
            break;
        }
    }
    return 0;
}

基础题

因为要处理b

可以在for循环的第三语句里处理

也可以在循环体里处理

因为a和b都为float型

很小概率会完全相同

所以做>=处理两个数据

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值