【C语言】计算今天是今年的第几天

本文介绍如何编写一个名为GetDaysOfYear的函数,接受年、月、日作为参数,计算并返回该日期在给定年份中的天数,考虑了闰年的特殊情况。函数使用数组存储每个月的天数,根据闰年规则调整2月份的天数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

实现一个函数GetDaysOfYear,该函数接收三个int类型参数年月日,返回该日期是今年的第几天。
在main函数输入一个日期,然后调用该函数,输出该日期是今年的第几天。注意考虑闰年和非闰年。

思路:
1、为了计算简单,先用数组把每个月的天数保存起来
2、循环先求出前month-1月的天数之和
3、再加上该月的天数day
4、最后返回时注意:如果月份超过2,并且今年是闰年,范围时需要多加上1天,因为闰年2月份是29天

主函数

int main()
{
	int y;
	int m;
	int d;
	printf("请输入年、月、日:");
	scanf("%d %d %d", &y, &m, &d);
	GetDaysOfYear(y, m, d);
	printf("今天是今年的第%d天\n", GetDaysOfYear(y,m,d));
	return 0;
}

GetDaysOfYear

int GetDaysOfYear(int year, int month, int day)
{
	int mon[13] = { 0,31,28,31,30,31,30,31,31,30,31,30,31 };
	int sum = 0;
	if ((year % 4 == 0 && year % 100 != 0 )|| year % 400 == 0)
	{
		for (int i = 0; i < month; i++)
		{
			if (month == 2)
			{
				sum = sum + mon[i] + 1;
			}
			else
			{
				sum = mon[i];
			}
		}	
		return sum + day;
}
else
  {
	for (int i = 0; i < month; i++)
	{
		sum += mon[i];

	}
	return sum + day;
  }
}

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值