刘海英 2018-10-11 07:51 采纳率: 0%
浏览 1099

C Prime Plus的第六版第六章第十二题怎么做?

** 这是题目要求:
** /*考虑下面两个无限序列:
1.0 + 1.0/2.0 + 1.0/3.0 + 1.0/4.0 + ...
1.0 - 1.0/2.0 + 1.0/3.0 - 1.0/4.0 + ...
编写一个程序计算这两个无限序列的总和,直到到达某次数。提示:奇
数个-1 相乘得-1,偶数个-1相乘得1。让用户交互地输入指定的次数,当用
户输入0或负值时结束输入。查看运行100项、1000项、10000项后的总和,
是否发现每个序列都收敛于某值?*/

**这是我的编程:
**
#include
#include
int main()
{
int i;
int num=0;
double sum1=0.0;
double sum2=0.0;

printf("Please enter the value of the specified number of items:");
while(scanf_s("%d",&num)==1)
{
    getchar();
    for(i=1;i<=num;i++)
     {
       sum1+=(1.0/i);
       sum2+=pow (-1.0,i-1)*(1.0/i);
      }

    printf("1.0 + 1.0/2.0 + 1.0/3.0 + 1.0/4.0 + ...=%lf\n",sum1 );
    printf("1.0 - 1.0/2.0 + 1.0/3.0 - 1.0/4.0 + ...=%lf\n",sum2 );

    printf("Please enter the value of the specified number of items:");
}

getchar();
getchar();

return 0;

}

这是编译结果:图片说明

编译结果是错误的。但是我完全不知道原因,诶。
如果不麻烦的话,希望有人能够给我解答一下,自学感觉有点困难。

展开全部

  • 写回答

3条回答 默认 最新

  • threenewbee 2018-10-11 07:55
    关注
    评论
  • Lucifer_ttl 2019-04-16 07:08
    关注

    我也是新手,刚看自学到这里,感觉你这第一次计算是对了。后面错了是因为,打印完两个数值以后,应该重置sum1 sum2的数值,否则下次计算会和前面的叠加在一起。

    评论
  • andyy迪 2019-10-14 23:35
    关注

    可以解释一下“while(scanf_s("%d",&num)==1)”的意思吗?是指当输入的num==1时才不循环?

    评论
编辑
预览

报告相同问题?

悬赏问题

  • ¥20 plant simulation与python com接口实时数据交互
  • ¥15 有关汽车的MC9S12XS128单片机实验
  • ¥15 求c语言动态链表相关课程有偿,或能将这块知识点讲明白
  • ¥15 FLKT界面刷新异常
  • ¥15 物体双站RCS和其组成阵列后的双站RCS关系验证
  • ¥50 单细胞测序拟时序分析
  • ¥50 运行springboot项目报错
  • ¥15 FTP 站点对站点传输失败
  • ¥15 宝塔面板一键迁移使用不了
  • ¥15 求一个按键录像存储到内存卡的ESP32CAM代码
手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部