c语言-根据输入的年份和月份,计算并输出该月份的天数

根据输入的年份和月份,计算并输出该月份的天数。

代码:

cpp 复制代码
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>

int getday(int year, int month)
{
	int days[] = { 0,31,28,31,30,31,30,31,31,30,31,30,31 };
	//                1  2  3  4  5  6  7  8  9 10 11 12
	int day=days[month];//是那个月
	// 闰年的2月份有29天
	if (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0))
	{
		day = day + 1;
	}
	return day;
}

int main()
{
	int year = 0;
	int month = 0;
	scanf("%d%d", &year, &month);
	int day = getday(year, month);
    printf("%d\n", day);
	return 0;
}

代码核心逻辑拆解

  1. 数组定义days[] = {0,31,28,31,30,31,30,31,31,30,31,30,31} 定义了平年 1-12 月的天数,数组第 0 位设为 0 是为了让数组下标与月份编号(1-12)直接对应,方便取值。
  2. 初始天数获取day=days[month] 直接通过月份作为下标,获取该月的平年天数。
  3. 闰年判断 :使用标准闰年判定条件 year % 4 == 0 && (year % 100 != 0 || year % 400 == 0),判断当前年份是否为闰年。
  4. 天数修正与返回:若为闰年且目标月份是 2 月,则天数加 1(变为 29 天),最终返回该月实际天数。
  5. 主函数流程 :接收用户输入的年、月,调用getday函数获取天数并打印输出。
相关推荐
持敬chijing9 分钟前
PHP开发-环境搭建-安装phpstudy-vscode工具
开发语言·vscode·php
致Great12 分钟前
科研人的 AI,不该只回答问题:我用字节TraeWork 跑了一遍真实研究任务
算法
纵有疾風起14 分钟前
线性表的定义与基本操作 — 从逻辑结构到 ADT 接口
数据结构·算法·408·线性表·adt
charlie11451419140 分钟前
Cinux · 第一次跳进 Ring 3:用户态与特权隔离
开发语言·c++·操作系统·开源项目
wuyk55542 分钟前
1.栈:后进先出的线性数据结构
c语言·数据结构·stm32·单片机
测试_AI_一辰1 小时前
AI Agent 评测最隐蔽的坑-记忆
人工智能·算法·ai·自动化·ai编程
躺不平的理查德1 小时前
Windows C++ 第三方库使用流程备忘录--OpenCV
开发语言·c++
lucas_AI1 小时前
给YOLO检测器插 LoRA,'插对地方'比'插什么'更要命
人工智能·算法
菜冻鱼1 小时前
Python-sklearn-评估指标
开发语言·人工智能·python·机器学习·numpy·pandas·sklearn
你挚爱的强哥1 小时前
【exportExcel】单纯靠js不用任何其他第三方插件导出xls格式文件
开发语言·javascript·ecmascript