[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