Реализовать подсчет среднего арифметического четных и нечетных чисел - C (СИ)
Формулировка задачи:
Здравствуйте.
Подскажите, как реализовать подсчет ср. арифметического четных чисел и ср. арифметического нечетных чисел?
#include "stdafx.h" #include <stdio.h> #include <cstdlib> #include <locale.h> int main(int argc, char *argv[]) { setlocale(LC_ALL, "Russian"); char ch; int count_num = 0; int chet_num = 0; int no_chet_num = 0; printf("Введите строку чисел:\n"); while ((ch = getchar()) != '#') //вводим числа от 1 до 9 до тех пор, пока не будет введен символ "#" { if (ch >= '1' && ch <= '9') { count_num++; //подсчет всех введенных чисел if (count_num % 2 == 0) chet_num++; //подсчет четных чисел if (count_num % 3 == 0) no_chet_num++;//подсчет нечетных чисел else if (count_num % 3 == 2) no_chet_num++;//подсчет нечетных чисел } } printf("Количество введенных чисел равно %d\n", count_num); printf("Количество четных чисел равно %d\n", chet_num); printf("Количество нечетных чисел равно %d\n", no_chet_num); system("pause"); return 0; }
Решение задачи: «Реализовать подсчет среднего арифметического четных и нечетных чисел»
textual
Листинг программы
#include <stdio.h> typedef struct SUM_AND_COUNT { int sum; int count; } snc_t; int main(void) { int n; snc_t counters[] = { { 0 }, { 0 } }; printf("Enter some space separated numbers\nand any letter when done...\n"); while ( scanf("%d", &n) == 1 ) { counters[n & 1].sum += n; counters[n & 1].count += 1; } printf("Evens:\n"); if ( counters[0].count ) printf("\t%d numbers, average: %.1f\n", counters[0].count, counters[0].sum / (double) counters[0].count); else printf("\tnot found.\n"); printf("Odds:\n"); if ( counters[1].count ) printf("\t%d numbers, average: %.1f\n", counters[1].count, counters[1].sum / (double) counters[1].count); else printf("\tnot found.\n"); return 0; }
Объяснение кода листинга программы
- Подключаем стандартную библиотеку ввода-вывода
- Создаем структуру данных для хранения суммы и количества чисел
- Задаем массив счетчиков, инициализируя его нулями
- Выводим приглашение для ввода чисел и сигнал окончания ввода
- В цикле считываем введенные числа, суммируем их в соответствующем счетчике и увеличиваем счетчик на единицу
- Выводим сообщение о четных числах и, если они есть, вычисляем и выводим их среднее арифметическое
- Выводим сообщение об нечетных числах и, если они есть, вычисляем и выводим их среднее арифметическое
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д