Функция, принимающая три числа, и возвращающая среднее из них - C (СИ)

Узнай цену своей работы

Формулировка задачи:

функция на вход принимает три числа должен вернуть среднее среди них например, среди 7, 2, 35 - средним будет 7. Как решить такое?

Решение задачи: «Функция, принимающая три числа, и возвращающая среднее из них»

textual
Листинг программы
#include <stdio.h>
 
#define min(x, y) ( (x) < (y) ? (x) : (y) )
#define max(x, y) ( (x) > (y) ? (x) : (y) )
#define avg(a, b, c) ( (a) > (b) ? ( (c) > (b) ? min((a), (c)) : (b) ) : ( (c) < (b) ? max((a), (c)) : (b) ) )
 
int main(void) {
    int nA, nB, nC;
    
    while ( printf("Three values: ") && scanf("%d%d%d", &nA, &nB, &nC) == 3 )
        printf("Average: %d\n", avg(nA, nB, nC));
    
    return 0;
}

Объяснение кода листинга программы

  1. Включаем стандартную библиотеку ввода-вывода
  2. Определяем три макроса: — min(x, y) — возвращает меньшее из двух чисел — max(x, y) — возвращает большее из двух чисел — avg(a, b, c) — возвращает среднее из трех чисел, учитывая их порядок
  3. В функции main() объявляем три переменные типа int для ввода трех чисел
  4. Запускаем цикл while, который будет выполняться до тех пор, пока пользователь вводит три числа и выводит результат. Внутри цикла: — Выводим приглашение для ввода трех чисел — Считываем три числа с помощью функции scanf() — Вычисляем среднее значение с помощью функции avg() — Выводим результат на экран
  5. По завершении цикла while завершаем программу с помощью return 0

Оцени полезность:

5   голосов , оценка 4 из 5
Похожие ответы