作业

25 阅读1分钟

image.png

int main(){
	 int month, year;
    int days;

    // 输入月份并判断当月天数
    printf("请输入月份(1-12):");
    scanf("%d", &month);

    // 判断月份有效性
    if (month < 1 || month > 12) {
        printf("输入的月份无效!\n");
    } else {
        // 判断大月、小月
        if (month == 2) {
            // 2月需要结合年份判断
            printf("请输入年份:");
            scanf("%d", &year);
            
            // 判断闰年:能被400整除,或能被4整除但不能被100整除
            if ((year % 400 == 0) || (year % 4 == 0 && year % 100 != 0)) {
                days = 29;
                printf("%d年是闰年,2月有%d天\n", year, days);
            } else {
                days = 28;
                printf("%d年是平年,2月有%d天\n", year, days);
            }
        } 
        // 大月(31天)
        else if (month == 1 || month == 3 || month == 5 || month == 7 || 
                 month == 8 || month == 10 || month == 12) {
            days = 31;
            printf("%d月有%d天\n", month, days);
        } 
        // 小月(30天)
        else {
            days = 30;
            printf("%d月有%d天\n", month, days);
        }
    }

    return 0;
}