C编程添加自然数

时间:2017-02-09 00:40:28

标签: c for-loop

我需要我的程序运行并告诉我输入的自然数的总和它还需要说总和我需要它来显示奇数和偶数整数的总和。 这是我到目前为止,它将无法在C中正确运行。

#include <stdio.h>
int main (void)
{
    int n, i, sum = 0;
    int sum1 = 0;
    int sum2 = 0;
    printf("enter a number and I will tell you the numbers sums.");
    scanf("%d", &n);

    for(i=1; i<= n; ++n)
    {
        sum2 = sum2 + n;
    }
    for(i=2; i<= n; ++n)
    {
        sum1 = sum1 + n;
    }
    for(i=1; i<= n; ++n)
    {
        sum += i;
    }
    printf("sum of integers is %d" ,sum);
    printf("sum of odd integers is %d" ,sum1);
    printf("sum of even integers is %d" ,sum2);

    return 0;
}

3 个答案:

答案 0 :(得分:1)

在你的循环中计算奇数和偶数,你需要在循环中增加2,而不是一个。而不是++i,请使用i += 2

for (i = 2; i <= n; i += 2)

在增量中应该是i,而不是n。您正在更改最终变量的值。此外,除非我误解了您尝试做的事情,否则您应该将i添加到您的总和中,而不是n

答案 1 :(得分:1)

前N个自然数的总和是一个众所周知的公式,

RouteAttribute

阅读此博览会,然后看看你是否可以推导出偶数或奇数之和的公式http://mathandmultimedia.com/2010/09/15/sum-first-n-positive-integers/

(提示:每隔一个数字的总和约为1/2)

答案 2 :(得分:0)

你在这里只需要一个for循环&#39>

sum = sum1= sum2 =0;
for(i=0; i<= n; i++)
{
sum = sum +i;
if(i %2 == 0)
sum2 += i;
else
sum1 +=i;
}

使用if语句过滤数字,不要忘记将所有sum var初始化为0