当然后面switch语句可用更简单的办法替换。。。如果你需要
# include
int main(void)
{
struct date {
int day;
int month;
int year;
} theDate;
int daysPerMonth[13] = {
0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
printf("Please specify the date(mm dd YYYY): "); //输入格式: 月 日 年
scanf("%i%i%i", &theDate.month, &theDate.day, &theDate.year);
if ((theDate.year % 4 == 0 && theDate.year % 100 != 0) || theDate.year % 400 == 0)
daysPerMonth[2] = 29;
if (theDate.year < 1900 || theDate.year > 2005 || theDate.month < 1 || theDate.month > 12 ||
theDate.day < 1 || theDate.day > daysPerMonth[theDate.month]) {
printf("Sorry! bad input!\n");
return 1;
}
printf("Current month: ");
switch (theDate.month) {
case 1:
printf("January");
break;
case 2:
printf("February");
break;
case 3:
printf("March");
break;
case 4:
printf("April");
break;
case 5:
printf("May");
break;
case 6:
printf("June");
break;
case 7:
printf("July");
break;
case 8:
printf("August");
break;
case 9:
printf("September");
break;
case 10:
printf("October");
break;
case 11:
printf("November");
break;
case 12:
printf("December");
break;
default:
printf(" ");
break;
}
printf("\nThank You!\n");
return 0;
}