Βασικά ο ολοκληρωμένος τύπος για το αν είναι ένα έτος δίσεκτο ή όχι μπορεί να εκφραστεί με ένα macro (ή μια συνάρτηση):
- Κώδικας: Επιλογή όλων
#define isleap(y) ( !((y) % 4) && ( (y) % 100 || !((y) % 400) ) )
Οπότε απλοποιείς το loop σου, σε κάτι σαν το παρακάτω:
- Κώδικας: Επιλογή όλων
for (c = a; c <= b; c++)
if ( isleap(c) )
printf ("Το έτος %d είναι δίσεκτο.\n", c);
Αυτό και πάρα πολλά περισσότερα σχετικά με ημερομηνίες μπορείς να δεις και στο κώδικα του προγράμματος που έχω ποστάρει εδώ:
viewtopic.php?f=6&t=18996