小鸟游菜花 2022-02-02 10:07 采纳率: 86.5%
浏览 31
已结题

为什么会这样呢,应该怎么改

img

img


#include<stdio.h>
int main()
{
    int a;
    scanf("%d",&a);
    int i,s;
    s=1;
    int n=1;
    while(1)
    {
        if(s>a)
        break;
        else
        {
            s=s+1/(s+1);
            n++;
        }
    }
    printf("%d",n);
    return 0;
}
  • 写回答

3条回答 默认 最新

  • PJLssd 2022-02-02 10:48
    关注

    这个整形除以整形还是整形,应当用双精度除以整形的双精度
    还有你break那里的缩进很诡异啊
    而且顺序也有问题

     
    #include<stdio.h>
    int main()
    {
        int a;
        scanf("%d",&a);
        int i,s;
        s=1;
        int n=1;
        while(1){
            s=s+(1.0/(s+1));
            if(s>a) break;
            n++;
        }
        printf("%d",n);
        return 0;
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 2月10日
  • 已采纳回答 2月2日
  • 创建了问题 2月2日

悬赏问题

  • ¥15 pyqt怎么把滑块和输入框相互绑定,求解决!
  • ¥20 wpf datagrid单元闪烁效果失灵
  • ¥15 券商软件上市公司信息获取问题
  • ¥100 ensp启动设备蓝屏,代码clock_watchdog_timeout
  • ¥15 Android studio AVD启动不了
  • ¥15 陆空双模式无人机怎么做
  • ¥15 想咨询点问题,与算法转换,负荷预测,数字孪生有关
  • ¥15 C#中的编译平台的区别影响
  • ¥15 软件供应链安全是跟可靠性有关还是跟安全性有关?
  • ¥15 电脑蓝屏logfilessrtsrttrail问题