Дано натуральное число N (N <= 32767) и N целых чисел, не превышающих по модулю 32767. Найти среднее арифметическое и сумму чисел, которые меньше его. Точность среднего арифметического - 5 знаков после запятой.
Формат вывода: среднее арифметическое и сумма чисел меньше его через пробел.
Ну... а что сложного? Создаёшь структуру, заполняешь её, и обрабатываешь условие на входном M:
#include <stdio.h>
#include <conio.h>
#include <locale.h>
int main(void) {
setlocale(LC_ALL, "russian");
struct months {
char name[16];
int days;
};
struct months m[12] = {
{"Январь", 31},
{"Февраль", 29},
{"Март", 31},
{"Апрель", 30},
{"Май", 31},
{"Июнь", 30},
{"Июль", 31},
{"Август", 31},
{"Сентябрь", 30},
{"Октябрь", 31},
{"Ноябрь", 30},
{"Декабрь", 31}
};
int M;
printf("Введите номер месяца: ");
scanf("%d", &M);
if (M > 0 && M < 13) {
M--;
if (m[M].days == 29 || m[M].days == 30) {
printf("В месяце \"%s\" %d дней.", m[M].name, m[M].days);
} else {
printf("В месяце \"%s\" %d день.", m[M].name, m[M].days);
}
} else {
printf("Неизвестный месяц.");
}
getch();
return 0;
}
Дано натуральное число N (N <= 32767) и N целых чисел, не превышающих по модулю 32767. Найти среднее арифметическое и сумму чисел, которые меньше его. Точность среднего арифметического - 5 знаков после запятой.
Формат вывода: среднее арифметическое и сумма чисел меньше его через пробел.
Код (Pascal)
var
i, n: integer;
a: array[1..32767] of integer;
sr: real;
sum: longint;
begin
read(n);
sr := 0;
sum := 0;
for i := 1 to n do
begin
read(a[i]);
sr := sr + a[i];
end;
sr := sr / n;
write(sr:5:5, ' ');
for i := 1 to n do
if a[i] < sr then sum := sum + a[i];
writeln(sum);
end.
Тесты
Ввод:
3
1 2 3
Вывод:
2.00000 1
Ввод:
3
0 0 2
Вывод:
0.66667 0