【发布时间】:2016-02-22 17:43:57
【问题描述】:
#include <stdio.h>
#define MINIMUM 1
#define MAXIMUM 20
int main ()
{
//Declaring variables.
char name[50];
int number, even_sum, odd_sum, even_count, odd_count;
//Sets all variables to zero.
even_sum=0;
odd_sum=0;
even_count=0;
odd_count=0;
//Asks the user to enter their name and their choice of numbers.
printf("Please enter your first name.\n");
scanf("%s", name);
printf("Please enter integer numbers ranging from 1 to 20; when you're finished entering numbers, enter 0.\n");
scanf("%d", &number);
//Begins loop to decide if the numbers entered are even or odd and adding them to respective totals.
while (number>=MINIMUM && number<=MAXIMUM)
{
printf("Please enter integer numbers ranging from 1 to 20; when you're finished entering numbers, enter 0.\n");
scanf("%d", &number);
if (number%2==0)
{
even_sum += number;
even_count++;
}
else
{
odd_sum+=number;
odd_count++;
}
}
//Separating each line makes it easier to read. The following lines print out the final count and totals of all numbers entered.
printf("\n%s, the numbers you entered are broken down as follows:\n\n", name);
printf("You entered %d even numbers with a total value of %d.\n", even_count, even_sum);
printf("You also entered %d odd numbers with a total value of %d.\n", odd_count, odd_sum);
return 0;
}
我上次运行它时使用了整数 2、4、3,并以 0 退出。 输出显示我有 2 个偶数条目,总值为 4。 另外,我有 1 个奇怪的条目,总共 3 个。
奇数输出是正确的,但偶数是错误的,我不知道我做错了什么。
【问题讨论】:
-
请正确格式化您的代码并根据语言选择标签
-
我尝试格式化它,但它不会“接受”while 行。
-
感谢您的帮助编辑!
-
是的,因为您也在循环的外部执行
printf(); scanf()(或者,您可以将其设为do {...} while ();-loop)。