Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/55.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C程序-将while循环中的整数相加_C_Console - Fatal编程技术网

C程序-将while循环中的整数相加

C程序-将while循环中的整数相加,c,console,C,Console,我正在尝试创建一个简单的C程序,它将不断要求用户输入一个数字,直到输入负数,然后当输入负数时,它将添加用户输入的所有正数。我遇到了一个问题,因为我根本不知道如何将输入的数字相加。我已经开始了,到目前为止: int main() { int numbersEntered, sum; while(numbersEntered>0) { printf("Enter Numbers to add together: "); sca

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

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

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

程序可以按以下方式查看

#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 );
}
#包括
内部主(空)
{
整数编码;
长整和;
总和=0;
printf(“输入要相加的数字(负数-退出):”;
而(scanf(“%d”,&numberEntered)==1&&numberEntered>=0)
{
总和+=已编号;
}
printf(“%lld\n”,总和);
}

您可以使用以下公式计算总和: 总和=总和+数字居中;这与下面的快捷方式操作符相同 总和+=数字居中; 因此,您将把旧的总和添加到数字中心,并将其恢复为总和 但请注意:
不要忘记用0初始化sum

您的程序无法运行,因为最初,numberCenter变量中没有任何值。必须首先读取一个数字,因为必须首先计算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,因为如果你只是声明它,它将用内存中的一个值初始化(程序中的所有值都将用一个值初始化,即使你不这样做)。

如果你在做家庭作业,你应该试着自己做,而不是让别人做。这是一个非常简单的概念,经过几分钟的研究(如何在c中添加数字?)