Programa de año bisiesto en C

Encontrar un año es bisiesto o no es un poco complicado. Generalmente asumimos que si el número de un año es divisible por 4 es un año bisiesto. Pero no es el único caso. Un año es bisiesto si:

  • Es divisible por 100

    • Si es divisible por 100, también debería ser divisible por 400

  • Excepto esto, todos los demás años divisibles uniformemente por 4 son años bisiestos.

Veamos cómo podemos crear un programa para encontrar si un año es bisiesto o no.

Algoritmo

El algoritmo de este programa es:

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 flujo

Podemos dibujar un diagrama de flujo para este programa como se indica a continuación:

Pseudocódigo

El pseudocódigo de este algoritmo debería ser así:

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

Implementación

La implementación de este algoritmo se da a continuación:

#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;
}

Salida

La salida del programa debe ser:

2016 is a leap year