z1502385 发表于 2021-7-29 20:39

麻烦个位大神给出出招


(1).使用流程符号描述输入数值终值计算数列和实现步骤(4分)      流程中需体现出小括号数列求和及累计数列求和过程(2).准确定义变量类型及名称(2分)(3).提示并输入终值,判断终值如果不是奇数需要重新输入直到符合条件(5分)核心(4).循环完成数列小括号是数列求和及值输出(5分)核心(5).循环完成数列每次累计求和及值输出(5分) 核心(6).使用转义字符控制输出项的行间距(1分)(7).功能代码添加至少5行有意义注释(3分)麻烦大神给看看怎么练好这种逻辑能力,我想学好c

wss310719 发表于 2021-7-29 21:41

不太懂,帮顶

Tamluo 发表于 2021-7-30 00:04


不太懂,帮顶{:1_925:}

列明 发表于 2021-7-30 00:32

用嵌套循環是最容易理解的,
有可能也可以用遞歸方法,
但是不推薦基礎薄弱的人使用,
太容易出錯了。
外層循環輸入的數加一的和的一半兒次,
這個循環變量決定内層循環的次數,
也就是小括號裏的數的個數。
當然,
小括號裏的算法可以用等差數列公式直接算出,
就不用循環了。
只是不知道這樣偷懶是不是被允許的。

MODENGXIAN1A 发表于 2021-7-30 08:04

好像可以这样
inta,b,c,n;
scanf('%d',&n);
a=n,b=n-2;
for(;b>0;b=n-2)
   {for(;b>0;b=n-2)
             {c=a+b}
      }
我也是小白,有什么错误可以指出来{:1_924:}

无敌小车 发表于 2021-7-30 09:42

先看外层,每个括号的最后一个数分别为1,3,5…n,所以外层要循环(n+1)/2次。再看内层,发现规律一样,所以也循环(n+1)/2次。大概是这样,
                int n=5,s=0;
                for(int i=1;i<=n;i+=2){
                        for(int j=1;j<=i;j+=2){
                                s+=j;
                        }
                }

q1z1y1 发表于 2021-7-30 10:11

编程不懂,给你提供下红字部分两个求和的公式吧,小括号数列和就是第几项的平方,和n的关系是(n+1)/2的平方,累计数列求和公式是(n+1)(n+2)(n+3)/24
页: [1]
查看完整版本: 麻烦个位大神给出出招