qq_74011020 2022-10-08 00:05 采纳率: 100%
浏览 121
已结题

C语言数列求和(for循环)

img

img

img


第二张图片的代码为什么要改成第三张图片中的代码?(即为啥多定义一个j、多一个关于j的内嵌、把第二张图片第15行代码中的i换成j)

  • 写回答

2条回答 默认 最新

  • 卧龙宇CC 2022-10-08 07:03
    关注

    比如n=3
    an=sn=123=6

    n=4
    an有两个值,a3和a4
    a3=123
    a4=123+234=30
    sn=a3+a4

    n=5
    an有3个
    a3=!23
    a4=!23+234
    a5=!23+234+345
    sn=a3+a4+a5
    所以根据题目,图二是正确的代码
    是读题的思路问题
    图2我们认为an=sn
    而根据图3,我们认为sn为n-2个an的总和
    所以第一层i循环是n-2项
    第二层j循环是an,每一个an有j-2项
    比如n=5
    i=3;i<=5;i++
    总共3项
    j=3;j<=5-i+3;j++

    当i=3时
    j=3;j<=5;j++
    an=0+321
    sn=0+an
    an=0

    j=4;
    an=0+432
    sn=an+sn=432+321
    an=0

    j=5
    an=543
    sn=an+sn=543+432+321

    也就是i=3的时候计算的是
    a5=543+432+321

    当i=4
    j=3;j<=4;j++
    an=0+321
    sn=0+an
    an=0

    j=4;
    an=0+432
    sn=an+sn=432+321
    an=0

    也就是i=4的时候计算的是
    a4=432+321

    i=5时
    j=3;j<=3;j++
    an=0+321
    sn=0+an
    an=0

    也就是i=5的时候计算的是
    a3=321

    而sn=s5=a3+a4+a5

    OK,有点绕,大概就是这么个意思,或许自己写代码更容易理解吧

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

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

悬赏问题

  • ¥30 matlab appdesigner私有函数嵌套整合
  • ¥15 给我一个openharmony跑通webrtc实现视频会议的简单demo项目,sdk为12
  • ¥15 vb6.0使用jmail接收smtp邮件并另存附件到D盘
  • ¥30 vb net 使用 sendMessage 如何输入鼠标坐标
  • ¥15 关于freesurfer使用freeview可视化的问题
  • ¥100 谁能在荣耀自带系统MagicOS版本下,隐藏手机桌面图标?
  • ¥15 求SC-LIWC词典!
  • ¥20 有关esp8266连接阿里云
  • ¥15 C# 调用Bartender打印机打印
  • ¥15 我这个代码哪里有问题 acm 平台上显示错误 90%,我自己运行好像没什么问题