代码:
#include<stdio.h>
int main(void) {
int year, flag,month;//flag是标志变量
short day1[12]={31,28,31,30,31,30,31,31,30,31,30,31};//记录平年的12个月各有多少天
short day2[12]={31,29,31,30,31,30,31,31,30,31,30,31 };//记录闰年的12个月各有多少天
printf("请输入年份和月份(空格隔开):");
scanf_s("%d %d", &year,&month);
while (month < 1 || month>12) {
printf("输入的月份有误,请重新输入:");
scanf_s("%d", &month);
}
if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {
flag = 1;//如果year是闰年,置标志变量为1
}
//符合两个条件之一则为闰年(1)能被400整除,但不能被100整除(2)能被400整除
else
flag = 0;//否则,置标志变量为0
if (flag == 1) {//根据标志变量置打印出是否为闰年
printf("%d 是闰年\n%d月有%d天\n ", year,month,day2[month-1]);
}
else
printf("%d 是平年\n%d月有%d天\n", year,month,day1[month-1]);
return 0;
}
运行结果: