首页 > 解决方案 > 打印使用 while 循环的正数、负数和所有条目

问题描述

所以我试图计算while循环中正负条目的平均值,但我似乎无法在控制台中输入任何类型的数字。所以我需要输入数字,只要它不为零,并添加正数和负数。我需要计算输入了多少正面和负面条目。我还需要打印正面和负面条目的平均值。

这是我的代码:

int num; 
int positivenum = 0, negativenum = 0;
int cpositive = 0, cnegative = 0;
float average = 0;
printf("Enter a positive and negative integer:");
while (num!=0)
{
scanf("%d", &num);
    if (num > 0){
    positivenum += num;
    cpositive++;
    }
    
    else if (num < 0){
    negativenum += num;
    cnegative++;
    }

标签: c

解决方案


这正是do while明智的选择:

int num; 
int positivenum = 0, negativenum = 0;
int cpositive = 0, cnegative = 0;
printf("Enter a positive and negative integer:");
do
{
    scanf("%d", &num);
    if (num > 0){
        positivenum += num;
        cpositive++;
    }
    
    else if (num < 0){
        negativenum += num;
        cnegative++;
    }
} while (num!=0);

if (cpositive > 0)
    printf("Average of positive numbers: %f\n", (double)positivenum / (double)cpositive);

if (cnegative > 0)
    printf("Average of negative numbers: %f\n", (double)negativenum / (double)cnegative);



推荐阅读