用c语言对用户输入的日期型数据进行有效性验证,yyyy~m~d代表年月日保证

2025-03-13 13:18:33
推荐回答(1个)
回答1:

#include 
int main(int argc,char *argv[]){
    int y,m,d,c[12]={31,28,31,30,31,30,31,31,30,31,30,31};
    printf("Input y, m & d...\n");
    while(1){
        scanf("%d%d%d",&y,&m,&d);
        c[1]=28+(y%4==0 && y%100 || y%400==0);
        if(m>0 && m<13 && d>0 && d<=c[m-1])
            break;
        printf("Input error, redo: ");
    }
    printf("Your input is %d-%d-%d\n",y,m,d);
    return 0;
}