Китайский гороскоп: определить название года по его номеру - C (СИ)
Формулировка задачи:
В китайском гороскопе года носят следующие названия: крыса, корова, тигр, заяц, дракон, змея, лошадь, овца, обезьяна, петух, собака, свинья. Учитывая, что 1996 – год крысы, написать программу, определяющую название года по его номеру.
Решение задачи: «Китайский гороскоп: определить название года по его номеру»
textual
Листинг программы
#include <locale.h>
#include <stdio.h>
char * month[] = {"крыса", "корова", "тигр", "заяц", "дракон", "змея",
"лошадь", "овца", "обезьяна", "петух", "собака", "свинья"};
int main()
{
int year;
setlocale(LC_ALL,"Russian");
printf("Введите год:");
scanf("%d", &year);
year += 12000;
printf("%s", month[(year - 4) % 12]);
return 0;
}
Объяснение кода листинга программы
- Подключаются необходимые библиотеки для работы с локалью и вводом-выводом
- Создается массив с названиями месяцев, начиная с китайского года Крысы
- В функции main() создается переменная year типа int для хранения года
- Устанавливается русская локаль с помощью функции setlocale()
- С помощью функции printf() выводится просьба ввести год
- С помощью функции scanf() происходит считывание введенного значения года в переменную year
- Год увеличивается на 12000 для приведения к китайскому календарю
- С помощью функции printf() выводится название месяца для введенного года из массива month
- Функция main() возвращает 0, заканчивая работу программы