forsprings 2021-11-26 16:55 采纳率: 50%
浏览 31

C语言基础题:请问各位码友为什么最后输出的答案是固定值1.000000,并且进入循环后原先赋值改变了

#include<stdio.h>
int main() {
    double eps;
    double sum = 0.0;
    scanf("%f", &eps);
    int i = 1;
    double a = 1.0;
    if (eps >= 1) { sum = 1; }
    else {
        while ((1 / i) > eps) {
            sum = sum + 1.0 / a;
            i = i + 3;
            a = -i;

        }
    }printf("sum = %.6f", sum);
    return 0;
}

img

进入循环之后赋值改变的事情遇见好几次了,但是一直不知道怎么回事,希望有朋友解答一下。

  • 写回答

2条回答 默认 最新

  • 来自远古的声音 2021-11-26 17:42
    关注

    double类型的输入应该为scanf("%lf",&eps);

    评论

报告相同问题?

问题事件

  • 修改了问题 11月26日
  • 创建了问题 11月26日

悬赏问题

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