Найти среднее арифметическое средних чисел каждой тройки - C (СИ)
Формулировка задачи:
Заданы две тройки действительных чисел. В каждой тройке все числа разные. Найти среднее арифметическое средних чисел каждой тройки (средним назовем такое число в тройке, что больше наименьшего из чисел данной тройки, но меньше наибольшего).
Решение задачи: «Найти среднее арифметическое средних чисел каждой тройки»
textual
Листинг программы
#include<stdio.h>
int middle_value(int a,int b,int c)
{
return (a<=b&&b<=c)?b:((a<=c&&c<=b)?c:a);
}
int divide_a_digit(int a){
int hundreds, tens, units;
hundreds = a / 100;
tens = a / 10 % 10;
units = a % 100 % 10;
return middle_value(hundreds,tens,units);
}
int main(){
int a = 618, b = 109;
float res = (divide_a_digit(a)+divide_a_digit(b));
printf("%.1f", res/2);
}
Объяснение кода листинга программы
- Включаем стандартную библиотеку ввода-вывода
- Создаем функцию middle_value, которая принимает три целых числа и возвращает их среднее арифметическое
- В функции divide_a_digit разделяем число на сотни, десятки и единицы
- Функция возвращает среднее арифметическое полученных чисел
- В функции main создаем две переменные a и b со значениями 618 и 109 соответственно
- Создаем переменную res, которая будет хранить сумму результатов функции divide_a_digit для чисел a и b
- Вычисляем результат, разделив сумму на 2 и приводя к типу float
- Выводим результат на экран с помощью функции printf, указывая формат вывода в виде одной цифры после запятой