Определить название года по его номеру - C (СИ)
Формулировка задачи:
Может кому-нибудь станет интересной такая задача, и он предложит свой вариант кода на Си:
В старояпонском календаре был принят 60-летний цикл, основанный на пяти 12-летних подциклах. Подциклы обозначались названиями цвета: зеленый, красный, желтый, белый и черный. Внутри каждого подцикла годы носили названия животных: крысы, коровы, тигра, зайца, дракона, змеи, лошади, овцы, обезьяны, курицы, собаки и свиньи. (1984 год – год зеленой крысы – был началом очередного цикла). Написать программу, которая вводит номер некоторого года нашей эры и печатает его название по старояпонскому календарю. Год вводить с клавиатуры и выводить соответствующий ему на экран.
Решение задачи: «Определить название года по его номеру»
textual
Листинг программы
$ for i in 1900 1965 1983 1984 2012; do echo $i `./japyear $i`; done 1900 White Rat 1965 White Snake 1983 Black Pig 1984 Green Rat 2012 Yellow Dragon
Объяснение кода листинга программы
- В коде используется цикл
for, который выполняет указанные команды для каждого значения переменнойiв заданном диапазоне. - Переменная
iпринимает значения 1900, 1965, 1983, 1984 и 2012. - Команда
./japyear $iвызывается для каждого значения переменнойi. Она принимает год в качестве входного параметра и выводит название животного, соответствующее этому году в японском календаре. - Вывод команды
./japyear $iсодержит название животного, соответствующее году. Например, для 1900 года выводитсяWhite Rat(Белая Крыса). - Каждое значение переменной
iи соответствующее ему название животного выводятся в отдельной строке. - Вывод команды
./japyear $iне форматируется и не оформляется в виде списка. Это делает командаecho, которая просто выводит обе строки подряд.