C编程 - 做while循环帮助(代码差不多完成)

时间:2016-09-22 16:11:07

标签: c

我创建了一个代码,用于写出所有偶数的总和。 但每次循环时,最后一次运行的总和都会被保存并添加到新运行的总和中。我如何让它有一个新的循环?

抱歉,我的英语不好,而且提前了

 int main()
    {


    int number = 0;
    int sum = 0;
    printf("Welcome to\"Sum Evens\"!");

    do
    {
        printf("\ninput a number: ");
        scanf(" %d", &number);
        if (number == 0)
        {
            printf("Goodbye, have a nice day!\n");
            break;
        }
        printf("\nSum:");

        if (number % 2 != 0)
        {
            number -= 1;
        }

        for (int i = 0; i <= number; i += 2)
        {

            printf(" %d ", i);
            if (i != number)
            {
                printf("+");
            }
            sum += i;

        }
        printf("= %d\n", sum);

    } while (number != 0);

    system("pause");
        return 0;
    }

1 个答案:

答案 0 :(得分:3)

如果您声明变量尽可能接近第一次使用,请注意这些问题会消失。

在您的情况下,将int sum = 0;移至for循环之前。