Написать программу, которая по введённому возрасту ребёнка в месяцах выводит его возрастную категорию.
Возрастные категории определяются следующим образом:
- Новорожденный — до 2 месяцев (0–2 месяца);
 - Младенец — до 1 года (3–12 месяцев);
 - Раннее детство — от 1 года до 3 лет (13–36 месяцев);
 - Дошкольник — от 3 до 7 лет (37–84 месяцев);
 - Школьник — от 7 до 13 лет (85–156 месяцев);
 - Подросток — от 13 до 17 лет (157–204 месяцев).
 
Если возраст превышает 17 лет (более 204 месяцев), программа выводит сообщение о том, что возраст старше 17 лет.
Алгоритм решения задачи состоит из следующих шагов:
- Начало.
 - Ввести возраст ребёнка в месяцах 
n. - Если 
n ≤ 2, вывести «новорожденный». - Иначе если 
n ≤ 12, вывести «младенец». - Иначе если 
n ≤ 36, вывести «раннее детство». - Иначе если 
n ≤ 84, вывести «дошкольник». - Иначе если 
n ≤ 156, вывести «школьник». - Иначе если 
n ≤ 204, вывести «подросток». - Иначе вывести сообщение о возрасте старше 17 лет.
 - Конец.
 
Ниже приведена блок‑схема, иллюстрирующая последовательность действий программы. Изображение закодировано в формате base64 и встроено непосредственно в файл:
Код программы написан на языке C. Для корректного вывода русских символов используется функция setlocale. Вводимое значение проверяется на корректность, затем по условным операторам определяется соответствующая возрастная категория:
#include <stdio.h>
#include <locale.h>
/*
 * Программа определяет возрастную категорию ребёнка по введённому возрасту
 * в месяцах.
 */
int main(void) {
    setlocale(LC_ALL, "");
    int months;
    printf("Введите возраст ребёнка в месяцах: ");
    if (scanf("%d", &months) != 1) {
        printf("Ошибка ввода. Пожалуйста, введите целое число.
");
        return 1;
    }
    if (months <= 2) {
        printf("Возрастная категория: новорожденный
");
    } else if (months <= 12) {
        printf("Возрастная категория: младенец
");
    } else if (months <= 36) {
        printf("Возрастная категория: раннее детство
");
    } else if (months <= 84) {
        printf("Возрастная категория: дошкольник
");
    } else if (months <= 156) {
        printf("Возрастная категория: школьник
");
    } else if (months <= 204) {
        printf("Возрастная категория: подросток
");
    } else {
        printf("Возрастная категория: старше 17 лет
");
    }
    return 0;
}Ниже приведены примеры входных данных и соответствующего вывода программы:
| Вход (месяцы) | Вывод | 
|---|---|
1 | 
Возрастная категория: новорожденный | 
6 | 
Возрастная категория: младенец | 
18 | 
Возрастная категория: раннее детство | 
48 | 
Возрастная категория: дошкольник | 
120 | 
Возрастная категория: школьник | 
168 | 
Возрастная категория: подросток | 
Таким образом, программа корректно классифицирует возраст ребёнка по введённому числу месяцев согласно указанным интервалам.
Выполнил Моногаров И. Ю.
