Определить, является ли високосным год с заданным номером - C (СИ) (151226)
Формулировка задачи:
Год является високонсым, если его номер кратен 4, однако из кратных 100 високосными являются лишь кратные 400(например,1700,1800и1900 - не являются високосными,2000-високосный). Дано натуральное число N/ Определить, является ли високосным год с таким номером.
Решение задачи: «Определить, является ли високосным год с заданным номером»
textual
Листинг программы
#include <stdio.h>
#include <stdlib.h>
/* Nonzero if YEAR is a leap year (every 4 years,
except every 100th isn't, and every 400th is). */
# define __isleap(year) \
((year) % 4 == 0 && ((year) % 100 != 0 || (year) % 400 == 0))
void main(int argc, const char *argv[])
{ int year = atoi(argv[1]);
printf("%s високосный",__isleap(year)?"":"не");
}
Объяснение кода листинга программы
- Подключение необходимых библиотек для работы с файлами и выполнения операций присваивания и вывода данных на экран.
- Определение функции-маркера, которая будет проверять является ли год високосным.
- Создание функции main, которая принимает целочисленный аргумент year, представляющий номер года.
- Присваивание переменной year значение, полученное из аргумента функции main.
- Вывод на экран сообщения, указывающего, является ли год високосным или нет.