Выведите среднее арифметическое всех неотрицательных из введённых чисел - C (СИ)
Формулировка задачи:
помогите написать пожалуйста такую программу:
Запросите у пользователя последовательность вещественных чисел
(продолжайте ввод, пока он успешен), после чего выведите среднее
арифметическое всех неотрицательных из введённых чисел.
Решение задачи: «Выведите среднее арифметическое всех неотрицательных из введённых чисел»
textual
Листинг программы
#include <stdio.h>
#include <stdlib.h>
#define MAX 100
float arr[MAX];
float *p;
int i;
float sum;
int main()
{
p = arr;
printf("Enter the sequence of float values\n");
while(scanf("%f\n", p))
p++;
p = arr;
while(*p != '\0')
{
if(*p)
{
i++;
sum += *p;
}
p++;
}
if(!sum)
printf("nothing is entered\n");
else
printf("Value = %f", (sum / i));
return 0;
}
Объяснение кода листинга программы
В этом коде:
- Объявлены массив arr типа float, указатель p и переменная i типа int.
- Указатель p инициализируется значением arr.
- Выводится сообщение
Enter the sequence of float values. - В цикле while выполняется ввод значений в массив arr с помощью функции scanf.
- Указатель p инициализируется значением arr.
- В цикле while выполняется проверка каждого элемента массива. Если элемент не равен нулю, то к сумме sum прибавляется значение этого элемента, а переменная i увеличивается на единицу.
- Если сумма sum равна нулю, выводится сообщение
nothing is entered. - Иначе выводится сообщение
Value = ..., где ... - это среднее арифметическое всех неотрицательных чисел, введенных пользователем. - Возвращается 0, что означает успешный конец работы программы.