我正在尝试创建一个简单的C程序,它会不断要求用户输入一个数字,直到输入一个负数,然后当输入一个负数时,它将添加用户输入的所有正数。我遇到了问题因为我根本不知道如何添加输入的数字。到目前为止,我已经开始了这个:
int main()
{
int numbersEntered, sum;
while(numbersEntered>0) {
printf("Enter Numbers to add together: ");
scanf("%d", &numbersEntered);
}
printf("%d", sum);
}
我不知道如何计算输入的所有整数的总和。
答案 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,因为如果你只是声明它,它将使用来自内存的值进行初始化(程序中的所有值都将使用值初始化,即使你不会这样做)。