e-olymp 923. Время года

Задача взята с сайта e-olymp

Условие:

Определить название времени года по заданному номеру месяца, используя составные условия.

Входные данные:

Одно число — номер месяца.

Выходные данные:

Для весенних месяцев вывести Spring, для летних — Summer, для осенних — Autumn и для зимних — Winter.

Тесты

Входные данные Выходные данные
1 1 Winter
2 4 Spring
3 6 Summer
4 10 Autumn
Ссылку на полностью засчитанное решение на сайте e-olymp можно найти здесь.

Ссылка на ideone.

Решение:

Для решения данной задачи необходимо использовать переменную с целочисленным значением, которое соответствует порядковому номера месяца (от 1 до 12 включительно). Вводим переменную с помощью оператора [latex] cin [/latex]. Выводим, какому времени года принадлежит введённый нами месяц, используя тернарную операцию и поочерёдно проверяя, какому из условий (различные остатки от деления на 12) удовлетворяет переменная. Если остаток от деления номера месяца будет [latex]<3[/latex], то программа выведет сообщение «Winter». По аналогии проверяем остальные возможные варианты: если остаток от деления [latex]<6[/latex], [latex]<9[/latex], то появится сообщение «Spring» или «Summer» соответственно. В ином случае месяц будет осенним, а программа выведет сообщение «Autumn».

3 thoughts on “e-olymp 923. Время года

  1. — Отступы!
    — 4 условных оператора это слишком много. И трёх хватит если использовать else. Заодно избавимся от излишних проверок.
    — Условия довольно громоздкие. Если, например, использовать вместо [latex]a[/latex] остаток от деления на 12, то окажется, что _<3 зима, иначе _<6 весна, иначе _<9 лето, иначе осень.
    - не нужно if, лучше _?_:_

Добавить комментарий