Мне нужна помощь в создании программы в c, которая печатает среднее значение и количество введенных пользователем значений - PullRequest
0 голосов
/ 31 января 2020

Эта программа должна заполнять постоянный массив значений типа double пользовательскими вводами. Он должен вести подсчет всех цифр, исключая символы, когда они вводятся. Отсчет 0 После компиляции он примет входные данные, но программа немедленно завершает работу. Прямо сейчас он будет выводить только среднее значение, но количество должно быть отслежено на данный момент. Я не знаком с c, поэтому любая помощь будет принята.

#include <stdio.h>
#define SIZE 1000

double avgNoZero(double array[], int size);

int main (int argc, char **argv) {
    double array[SIZE];
    double number;
    double average;
    int count = 0;

    while (scanf("%lf", & number == 1) && (count < SIZE)) { //I'm receving warnings about number being an int
        array[count++] = number;
    }
    average = avgNoZero(array, count); 
    printf("%f\n", average);
    return 0;
}
double avgNoZero(double array[], int size) {
int i; 
//int count = 0;
double sum = 0;

for(i = 0; i < size; i++) {
    sum += array[i]; 
    /*if (array[count] != 0 ) { //I'm unsure where the part that checks for non zero should be.
        sum += array[i];
    } */
}
    return sum / size; 

}

1 Ответ

1 голос
/ 01 февраля 2020

По крайней мере, это одна проблема

// while (scanf("%lf", & number == 1) && (count < SIZE)) 
while (scanf("%lf", & number) == 1 && (count < SIZE)) 

Хорошо, что OP активировал некоторые предупреждения и сообщил о них.

 I'm receving warnings about number being an int
...