1073 模拟万年历
发布日期:2021-05-08 21:17:26 浏览次数:13 分类:精选文章

本文共 995 字,大约阅读时间需要 3 分钟。

要解决这个问题,我们需要编写一个程序来计算给定年份的某个月份的天数。这个问题涉及到判断闰年,进而确定二月份的天数。其他月份的天数则是固定的。

方法思路

  • 读取输入:从键盘读取年和月的值。
  • 判断闰年:闰年的判断规则是,如果年能被4整除但不能被100整除,或者能被400整除,则是闰年。
  • 处理二月份:如果月份是二月,根据闰年判断天数是28天还是29天。
  • 处理其他月份:对于其他月份,根据常规的天数规则判断天数(31天和30天)。
  • 解决代码

    #include 
    int main() { int year, month; scanf("%d %d", &year, &month); bool is_leap = (year % 4 == 0 && year % 100 != 0) || (year % 400 == 0); if (month == 2) { if (is_leap) { printf("29\n"); } else { printf("28\n"); } } else { if (month == 1 || month == 3 || month == 5 || month == 7 || month == 8 || month == 10 || month == 12) { printf("31\n"); } else if (month == 4 || month == 6 || month == 9 || month == 11) { printf("30\n"); } else { printf("28\n"); } } return 0;}

    代码解释

  • 读取输入:使用scanf函数读取输入的年和月。
  • 判断闰年:使用布尔变量is_leap来判断是否是闰年。
  • 处理二月份:如果月份是2月,根据is_leap的值输出28或29天。
  • 处理其他月份:根据月份判断是否是大月(31天)还是小月(30天),并输出相应的天数。
  • 这个方法确保了我们能够正确计算任何给定月份的天数,包括处理闰年的特殊情况。

    上一篇:1074 实际年龄
    下一篇:1072 是否闰年

    发表评论

    最新留言

    第一次来,支持一个
    [***.219.124.196]2025年03月28日 11时56分00秒