结构体,输入年月日,计算该日是本年中的第几天

#include<iostream>
using namespace std;
struct Year
{
	int year;
	int month;
	int day;
};
int main()
{
	Year year1;
	cin >> year1.year;
	cin >> year1.month;
	cin >> year1.day;
	int num;//记录第几天
	int num1;//记录有31天的月
	num = (year1.month-1) * 30;//先全部按30算,-1是除掉本月
	if ((year1.month - 1) % 2 != 0||year1.month==9||year1.month==11)//判断8 月 10月   1 3 5 7 8 10 
	{
		num1 = (year1.month-1) / 2 + 1;//月份是偶数
	}
	else
	{
		num1 = (year1.month-1) / 2;//月份是奇数
	}
	if ((year1.year % 4 ==0 && year1.year % 100 !=0) ||(year1.year % 100 == 0&& year1.year % 400 ==0))//判断是否闰年,闰年2月有29天不是28天
	{
		num = num1 + num - 1;
	}
	else {
		num = num1 + num - 2;
	}
	num = num + year1.day;//最后+本月的天数
	cout << num;//2023.3.6有65天    2020.3.6闰年有66天
	return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xugggg

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值