C语言--定义一个包含年月日的结构体Day,实现一个函数,根据传入的结构体指针计算,该日期是当年的第几天?


一.题目要求

输入2000年6月5日,输出:这是2000年的第157天。


二.思路分析

首先定义一个包含年月日的结构体

年份:要判断是否是闰年,闰年的二月有29天,平年的二月有28天。

月份:一个月份分大月和小月,大月31天,小月30天(除2月)

天数:每一个月的天数加起来


三.完整代码

cs 复制代码
typedef struct Day
{
	int year;
	int mother;
	int day;
}Day;
int GetDay(const Day* pd)
{
	int arr[12] = { 31,28,31,30,31,30,31,31,30,31,30,31 };//12个月中有大月有小月
	int sum = 0;//日期加和
	if (pd->year % 4 == 0 && pd->year % 100 != 0 || pd->year % 400 == 0)//判断闰年
	{
		arr[1] = 29;//闰年的二月就是29天
	}
	else
	{
		arr[1] = 28;//平年的二月是28天
	}
	for (int i = 0; i < pd->mother - 1; i++)
	{
		sum += arr[i];
	}
	sum += pd->day;
	return sum;
}
int main()
{
	Day p;//结构体变量具体天,变量名为p
	printf("请输入具体日期:\n");
	scanf("%d%d%d", &p.year, &p.mother, &p.day);
	printf("这是%d年的第%d天\n", p.year, GetDay(&p));
	return 0;
}

四.运行结果


创作不易, 如果这份博客👍对你有帮助,可以给博主一个免费的点赞以示鼓励。

欢迎各位帅哥美女点赞👍评论⭐收藏⭐,谢谢!!!

如果有什么疑问或不同的见解,欢迎在评论区留言哦👀。

祝各位生活愉快⭐

相关推荐
傻啦嘿哟5 小时前
某招聘平台爬虫:爬取招聘岗位数据,分析各城市薪资水平
开发语言·爬虫·python
2501_933670795 小时前
2026秋招量化分析岗技能栈:Python、SQL、统计建模、回测项目怎么准备
开发语言·python·sql
李少兄6 小时前
JavaScript 数据类型完全指南
开发语言·javascript·ecmascript
Seoyoneh7 小时前
Agentic Workflow编排架构:云客服从“被动响应”迈向“主动执行”的技术实现
java·开发语言·架构
Tangyuewei7 小时前
Java 写 Agent:模型只是组件
java·开发语言
小玮看世界8 小时前
[Python]从合并区间到传感器融合区:合并区间在传感器区域融合的实际落地
开发语言·python
繁星蓝雨8 小时前
C++的设计与演进大纲(如何从C语言一步步成长为C++)
c语言·开发语言·c++·c++历史·c++演进
Evand J9 小时前
【MATLAB例程,图像降噪滤波9】自适应维纳滑动窗口滤波(Wiener)图像降噪、方法对比,有中文注释
开发语言·图像处理·计算机视觉·matlab·滑动窗口·滤波·降噪
yutian06069 小时前
C: Unix UTC 时间戳转为 UTC+8 北京时间
c语言·unix
杜大哥9 小时前
python程序:如何查看电脑【电池电量的剩余百分比】 和 【是否插入连接着充电器】?
开发语言·python