【GSEP202303 一级】C++ 每月天数

[GSEP202303 一级] 每月天数

题目描述

小明刚刚学习了每月有多少天,以及如何判断平年和闰年,想到可以使用编程方法求出给定的月份有多少天。你能做到吗?

输入格式

输入一行,包含两个整数,分别表示一个日期的年、月。

输出格式

输出一行,包含一个整数,表示输入月份有多少天。

样例 #1

样例输入 #1

2022 1

样例输出 #1

31

样例 #2

样例输入 #2

2020 2

样例输出 #2

29

解题思路

**输入年份和月份:**你的程序需要从用户或其它来源接收年份和月份的信息。

**判断年份是否为闰年:**你可以使用以下规则来判断一个年份是否是闰年:
如果年份可以被4整除但不能被100整除,或者能被400整除,那么这个年份就是闰年。

确定月份的天数:
如果年份是闰年且月份是2,那么月份的天数是29。
如果年份是平年且月份在1、3、5、7、8、10、12中,那么月份的天数是31。
如果年份是平年且月份在4、6、9、11,那么月份的天数是30。
如果年份是平年且月份是2,那么月份的天数是28。

**输出结果:**向用户显示给定月份的天数。

参考代码

#include <iostream>
#include <cstdio>
using namespace std;
int main()
{
	int year,month,day;
	cin>>year>>month;
	if(month==2)
	{
		if(year%4==0&&year%100!=0||year%400==0)
		{
			day=29;		
		}
		else
		{
			day=28;
		}
	}
	else if(month==4||month==6||month==9||month==11)
	{
		day=30;
	}
	else
	{
		day=31;
	}
	cout<<day;	 
 	return 0;
}

测试结果

在这里插入图片描述

说明

所有程序均来自于个人思路,若有不严谨之处,欢迎指出!一起讨论!【GESP考级交流|CSP认证|信奥赛交流群】交流V:AI_XX666

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值