Определить, является ли високосным год с заданным номером - C (СИ) (76058)
Формулировка задачи:
Задача: Год является високосным , если его номер кратен 4, однако из кратных 100 високосными являются лишь кратные 400, например, 1700, 1800 и 1900 – не високосные года, 2000 – високосный. Дано натуральное число n. Определить, является ли високосным год с таким номером.
#include <stdio.h>
#include <conio.h>
#include <math.h>
main()
{
int n;
printf("Vvedite god n");
scanf("%i", &n);
if ((n%100)==0 && (n%400)==0 )
{
printf("Visokosni ");}
else{
printf("Ne visokosni ");
}
//else вот здесь пишет ошибку,если убрать "else " прога работает не совсем верно. помогите опредилить,что не так
if ((n%4)==0) {
printf("Visokosni ");}
else {
printf("Ne visokosni ");}
getch();Решение задачи: «Определить, является ли високосным год с заданным номером»
textual
Листинг программы
if (n%4!=0 || n%100==0 && n%400!=0)
printf("Ne visokosni ");
else
printf("Visokosni ");
Объяснение кода листинга программы
В данном коде выполняется проверка, является ли год високосным.
- Первое условие в скобках проверяет, делится ли год на 4 без остатка. Если да, то год високосный.
- Второе условие в скобках проверяет, делится ли год на 100 без остатка и при этом не делится на 400 без остатка. Если выполняются оба условия, то год не високосный.
- Если выполняется хотя бы одно из условий, то выводится слово
Ne visokosni, что означаетНе високосный. - В противном случае, выводится слово
Visokosni, что означаетВисокосный.