# Answer correctly

0 votes
asked Oct 8, 2018

Write a program that asks the user to enter the month (letting the user enter an integer in the range of 1 through 12) and the four-digit year. The program should then display the number of days in that month. Use the following criteria to identify leap years:

1. Determine whether the year is divisible by 100. If it is, then it is a leap year if and only if it is divisible by 400. For example, 2000 is a leap year but 2100 is not.
2. If the year is not divisible by 100, then it is a leap year if and only if the year is divisible by 4. For example, 2008 is a leap year but 2009 is not.

More examples:
The following years are not leap years: 1700, 1800, 1900, 2100, 2200, 2300, 2500, 2600
The following years are leap years: 1600, 2000, 2400

The output should look something like this:
Enter a month (1-12): 2
Enter a year: 2016
29 days

## 1 Answer

0 votes
answered Oct 11, 2018 by (540 points)
its in german but you can translate it at your own

int main()

{

int jahr,monat,tage;

printf("\nBitte Jahr eingeben: ");
scanf("%i",&jahr);
printf("\nBitte Monat eingeben: ");
scanf("%i",&monat);
printf("\nBitte Tag eingeben: ");
scanf("%i",&tage);
if (monat>=1 && monat <=12 && jahr > 1582) {
switch (monat) {
case 2:
if (!((jahr%100)%4) && (jahr%100)
|| !(jahr%400))
tage = 29;
else
tage = 28;
break;
case 2*2:
case 6:
case 9: case 11:
tage = 30;
break;
default:
tage = 31;
}
printf("\n%i hat der Monat %i %i Tage", jahr, monat, tage);
}

else
printf("\nFalsche Datumsangaben!");

}