C程序 - 从while循环中添加整数

时间:2016-04-02 12:07:12

标签: c console

我正在尝试创建一个简单的C程序,它会不断要求用户输入一个数字,直到输入一个负数,然后当输入一个负数时,它将添加用户输入的所有正数。我遇到了问题因为我根本不知道如何添加输入的数字。到目前为止,我已经开始了这个:

  int main()
    {
       int numbersEntered, sum;
       while(numbersEntered>0) {
       printf("Enter Numbers to add together: ");
       scanf("%d", &numbersEntered);
       }
       printf("%d", sum);
    }

我不知道如何计算输入的所有整数的总和。

3 个答案:

答案 0 :(得分:0)

程序可以按以下方式查看

#include <stdio.h>

int main( void )
{
    int numberEntered;
    long long int sum;

    sum = 0;

    printf( "Enter numbers to add together (a negative number - exit): " );

    while( scanf( "%d", &numberEntered ) == 1 && numberEntered >= 0 ) 
    {
        sum += numberEntered;
    }

    printf( "%lld\n", sum );
}

答案 1 :(得分:0)

您可以使用以下公式计算总和: sum = sum + numbersEntered;这与以下快捷方式运算符相同 sum + = numbersEntered; 因此,您将旧的总和添加到numbersEntered并将其恢复为总和 但要小心: 不要忘记用0初始化和。

答案 2 :(得分:0)

你的程序没有用,因为,最初,你没有在numbersEntered变量中有任何价值。您必须首先读取一个数字,因为必须首先评估while条件。这是一种非常容易实现的方法:

int main()
{
    int numbersEntered, sum=0;
    printf("Enter the first number: ");
    while ( scanf("%d", &numbersEntered) > 0 && numbersEntered > 0 )
    {
        printf("Enter another number to be added to the sum: ");
        sum += numbersEntered;
    }
    printf("\nSum is: ");
    printf("%d", sum);
    printf("\n");
    return 0;
}

要记住的事情:如果执行了读取,scanf函数返回大于零的值。并且你必须将你的和值初始化为0,因为如果你只是声明它,它将使用来自内存的值进行初始化(程序中的所有值都将使用值初始化,即使你不会这样做)。