首页 > 编程笔记

C语言求某一年的某一月有多少天

编写程序,要求从键盘输入年份和月份,输出这一年的这个月份共有多少天。

分析

这个问题需要考虑闰年问题,因为二月份的天数与闰年有关。闰年的判断依据是:若某年能被 4 整除,但不能被 100 整除,则这一年是闰年;若某年能被 400 整除,则这一年也是闰年。

另外,程序中需要对月份进行判断,C语言常用的分支结构有 if else 和 switch case,任选一种即可。

实现

给大家提供一种实现思路,仅供参考:
#include <stdio.h>

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

    printf("输入年份:");
    scanf("%d", &year);
    printf("输入月份:");
    scanf("%d", &month);

    switch (month) {
    case 1:
    case 3:
    case 5:
    case 7:
    case 8:
    case 10:
    case 12:
        days = 31;
        break;
    case 4:
    case 6:
    case 9:
    case 11:
        days = 30;
        break;
    case 2:
        // 判断闰年
        if ((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0)) {
            days = 29;
        }
        else {
            days = 28;
        }
        break;
    default:
        printf("月份输入错误!\n");
        exit(1);
        break;
    }
    printf("天数:%d\n", days);
    return 0;
}
第一次运行结果:

输入年份:2014
输入月份:10
天数:31


第二次运行结果:

输入年份:2013
输入月份:02
天数:28


第三次运行结果:

输入年份:2000
输入月份:2
天数:29

优秀文章

添加微信咨询 扫码添加管理员微信 扫码添加管理员微信
微信ID:biancheng_yan