knight_15 2023-11-09 21:54 采纳率: 90.9%
浏览 2
已结题

表达式计算 一 (2)一

表达式计算(二)
Time Limit: 1000 ms Memory Limit: 128 MB
提交 统计
问题描述
根据公式 s=1+1/2-1/3+1/4+1/5-1/6+1/7+1/8-1/9+ …… 计算s的值,直到最后一项小于指定的数值。

输入描述
一个0到1之间的小数,表示计算公式中所有的项均大于等于该数。

输出描述
一个4位小数,表示公式的计算结果。

样例输入
0.2

样例输出
1.6167
题目我代码输入0.2后结果是1.2167,不知道啥情况

  • 写回答

2条回答 默认 最新

  • 柯本 2023-11-09 22:04
    关注
    
    #include <stdio.h>
    int main()
    {
      double x, s, d;
      int i = 1;
      s = 1;
      x = 1;
      scanf("%lf", &d);
      while (x > d)
        {
          i++;
          x = 1.0 / i;
          if (i % 3 == 0)
            s -= x;
          else
            s += x;
        }
          printf("%.4f\n",s);
      return 0;
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 11月19日
  • 已采纳回答 11月11日
  • 创建了问题 11月9日

悬赏问题

  • ¥15 电视版的优酷可以设置电影连续播放吗?
  • ¥50 复现论文;matlab代码编写
  • ¥30 echarts 3d地图怎么实现一进来页面散点数据和卡片一起轮播
  • ¥15 数字图像的降噪滤波增强
  • ¥15 心碎了,为啥我的神经网络训练的时候第二个批次反向传播会报错呀,第一个批次都没有问题
  • ¥15 MSR2680-XS路由器频繁卡顿问题
  • ¥15 VB6可以成功读取的文件,用C#读不了
  • ¥15 如何使用micpyhon解析Modbus RTU返回指定站号的湿度值,并确保正确?
  • ¥15 C++ 句柄后台鼠标拖动如何实现
  • ¥15 有人会SIRIUS 5.8.0这个软件吗