Programa de ano bissexto em C

Encontrar um ano é um salto ou não é um pouco complicado. Geralmente assumimos que se um número de ano for igualmente divisível por 4 é um ano bissexto. Mas não é o único caso. Um ano é um ano bissexto se -

  • É igualmente divisível por 100

    • Se for divisível por 100, também deve ser divisível por 400

  • Exceto isso, todos os outros anos igualmente divisíveis por 4 são anos bissextos.

Vamos ver como podemos criar um programa para saber se um ano é bissexto ou não.

Algoritmo

O algoritmo deste programa é -

START
   Step 1 → Take integer variable year
   Step 2 → Assign value to the variable
   Step 3 → Check if year is divisible by 4 but not 100, DISPLAY "leap year"
   Step 4 → Check if year is divisible by 400, DISPLAY "leap year"
   Step 5 → Otherwise, DISPLAY "not leap year"
STOP

Diagrama de fluxo

Podemos desenhar um diagrama de fluxo para este programa conforme mostrado abaixo -

Pseudo-código

O pseudocódigo deste algoritmo deve ser assim -

procedure leap_year()
   
   IF year%4 = 0 AND year%100 != 0 OR year%400 = 0
      PRINT year is leap
   ELSE
      PRINT year is not leap
   END IF

end procedure

Implementação

A implementação deste algoritmo é fornecida abaixo -

#include <stdio.h>

int main() {
   int year;
   year = 2016;

   if (((year % 4 == 0) && (year % 100!= 0)) || (year%400 == 0))
      printf("%d is a leap year", year);
   else
      printf("%d is not a leap year", year);

   return 0;
}

Resultado

A saída do programa deve ser -

2016 is a leap year