繁体   English   中英

C程序使用while循环查找直到n的所有奇数整数的和

[英]C program to find the sum of all odd integers up to n using while-loop

我的书说,对于使用while循环进行编程,我们必须首先使用数字进行初始化,提供提及“ while”的条件,然后在语句之后加入语句,直到满足条件并递增条件为止循环中的值。 范例:

i = 1;
while(i<=10)
{
s = s + i;
p = p * i;
i++;
}

但是,在对奇数程序求和的情况下,未显示此类增量值。 而且,奇怪的是(对我而言),我不使用i ++就能得到正确的结果。 我绝对无法绕开为什么会这样。 在循环中提到i ++或i + 1并不是一个规则吗?

int s, i, n;
s = 0;
i = 1;
while (i <= n)
{
s = s + i;
i = i + 2;
}

这行是递增值:

i = i + 2;

第一个循环使用i++递增1。 但是,由于只需要奇数,因此需要加2。

您可以将其简化为:

i += 2;

没有这样的规则,我们必须在每个循环中都使用i ++ (为此,使用i作为循环变量)。

如@Barmar所示,您正在使用以下行增加i

i = i + 2;

在某些情况下,我们需要递增3、10,√n,logn等。甚至在某些情况下,我们需要向后运行循环,因此我们要递减i

关键是, i的值必须在某个点改变,否则我们将陷入无限循环。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM