Определить, является ли указанный год високосным - C (СИ)
Формулировка задачи:
я реализовал эту задачу следующим образом:
но преподаватель отказался ее принимать. сказал что надо реализовать эту задачу линейным алгоритмом без ветвления подскажите пожалуйста как реализовать эту задачу линейным алгоритмом
#include<stdio.h>
#include<conio.h>
void main(void)
{int x,y,c;
clrscr();
printf("vvedite god\n");
scanf("%d",&x);
y=4;
c=x%y;
if(c==0)
printf(" v godu 366 dnei");
else
printf("v godu 365 dnei\n");
getch();
}Решение задачи: «Определить, является ли указанный год високосным»
textual
Листинг программы
#include<stdio.h>
#include<conio.h>
int main(void)
{
int x, y, c;
clrscr();
printf("vvedite god\n");
scanf("%d",&x);
c = (x % 4 == 0) && ((x % 100 != 0) || (x % 400 == 0));
y = 365 + c;
printf(" v godu %d dnei", y);
getch();
}
Объяснение кода листинга программы
- Подключение необходимых библиотек для работы с консолью и вводом-выводом данных
- Объявление переменных: x - год, y - общее количество дней в году, c - флаг, определяющий является ли год високосным
- Очистка экрана и вывод приглашения для ввода года
- Ввод года с клавиатуры и сохранение его в переменной x
- Расчет значения переменной c: год делится на 4 и проверяется, делится ли он на 100 и 400. Если условие выполняется, то c становится 1, иначе 0
- Расчет значения переменной y: к 365 дням прибавляется значение переменной c
- Вывод на экран сообщения о количестве дней в високосном году
- Ожидание нажатия клавиши для завершения работы программы