先看一个例子
输入年号和月份,输出这一年该月的天数(一个年份,先判断是否闰年)。
main()
{
int y,m,d,f;
printf("Input year and month y-m:");
scanf("%d-%d",&y,&m);
f=(y%4==0&&y%100!=0||y%400==0);
if(m==2)
d=28+f; /*bool值false在编译器内定义为0,但ture在不同编译器中定义不同vc中定义为1,但vb中定义为-1,所以这种算法不靠谱*/
else
d=31-(m==4)-(m==6)-(m==9)-(m==11);/*m==4时其值为1,则本月为30天,典型算法,重要啊*/
printf("%d-%d is %d days.\n",y,m,d);