判断日期是否合法的函数

#include 
int main() {
    int year;
    int month;
    int day;
    scanf("%d %d %d",&year,&month,&day);
   
    if(month>=1 && month<=12){
        
        if(month==1||month==3||month==5||month==7||month==8||month==10||month==12){
            
            if(day<1 || day>31){
                printf("NO");
            }else{
                printf("YES");
            }
        }else if(month!=2){
            if(day<1 || day>30){
                printf("NO");
            }else{
                printf("YES");
            }
        }else{
            if((year % 100 !=0 && year % 4 ==0) || year % 400 ==0){
                if(day<1 || day>29){
                    printf("NO");
                }else{
                    printf("YES");
                }
            }else{
                if(day<1 || day>28){
                    printf("NO");
                }else{
                    printf("YES");
                }
            }
        }
    }else{
        printf("NO");
    }
    return 0;
}

你可能感兴趣的:(C语言,c语言)