#include <stdio.h>
#include <stdlib.h>

// Прототипы функций
static int enter();
static void print_age(const int);
static void print_maturity_status(const int);
static void print_retirement_status(const int);

int main() {
    int number = enter();
    puts("");
    print_age(number);
    print_maturity_status(number);
    print_retirement_status(number);
}

//-----------------------------------------------------------------------------

// Ввод числа
static int enter() {
    int n;
    printf("%s: ", "Введите число от 1 до 100");
    scanf("%i", &n);

    if ((n < 1) || (n > 100)) {
        fprintf(stderr, "%s\n", "Ошибка! Выход за границы диапазона.");
        exit(EXIT_FAILURE);
    }

    return n;
}

//-----------------------------------------------------------------------------

// Определение верной грамматической формы для числительного
static const char *grammatic_form(const int n) {
    int last_digit = n % 10;
    return
        (   !last_digit
        ||  (last_digit >= 5)
        ||  ((n > 4) && (n < 15)))  ? "лет" :
        (last_digit == 1)           ? "год" :
        "года";
}

//-----------------------------------------------------------------------------

// Абсолютное значения целого числа (своя версия, чтобы не подключать либу)
static inline int local_abs(const int n) {
    return (n >= 0) ? n : -n;
}

//-----------------------------------------------------------------------------

// Возраст
static void print_age(const int n) {
    printf("Ваш возраст %i %s\n", n, grammatic_form(n));
}

//-----------------------------------------------------------------------------

// Совершеннолетие
static void print_maturity_status(const int n) {
    const int MATURITY_AGE = 18;
    int difference = local_abs(MATURITY_AGE - n);
    printf("%s %i %s\n",
        ((n >= MATURITY_AGE) ? "Вы совершеннолетний" : "Вам до совершеннолетия"),
        difference,
        grammatic_form(difference)
    );
}

//-----------------------------------------------------------------------------

// Пенсия
static void print_retirement_status(const int n) {
    const int RETIREMENT_AGE = 60;
    int difference = local_abs(n - RETIREMENT_AGE);
    printf("%s %i %s\n",
        ((n >= RETIREMENT_AGE) ? "Вы на пенсии" : "Вам до пенсии"),
        difference,
        grammatic_form(difference)
    );
}
