
程序代码:
#include<stdio.h>
int judge_year(int year);
int judge_month(int month);
void judge_day(int year,int month);
int main()
{
    int year,month;
    printf("请输入年月(XXXX.x):");
    scanf("%d.%d",&year,&month);
    judge_day(year,month);
    return 0; 
 } 
 int judge_year(int year)
 {
     /*公历纪年法中:能被4整除的大多是闰年;能被100整除而不能被400整除的年份不是闰年;
    能被3200整除的也不是闰年;如1900年是平年,2000年是闰年,3200年不是闰年。*/
     int ret=0;//0为平年,1为闰年 
     if(year%4==0){
         ret=1;
         if(year%100==0&&year%400!=0||year%3200==0){
             ret=0;
         }
     }
     return ret;
 }
 int judge_month(int month)
 {
     int ret=1;//1表示大月,0表示除2月的小月,-2表示2月 
    if(month==2){
        ret=-2;
    }else if(month==4||month==6||month==9||month==11){
        ret=0;
    }
     return ret;
 }
 void judge_day(int year,int month)
 {
     int result=judge_month(month); 
     if(judge_year(year)&&judge_month(month)==-2){
         result=-1;
     }
     printf("%d\n",result);
     printf("当月有%d天\n",result+30);
 }