当前位置: 首页 > ops >正文

【GESP真题解析】第 4 集 GESP 一级 2023 年 3 月编程题 1:每月天数

【GESP真题解析】GESP一级 2023 年 3 月编程题 1:每月天数.png
大家好,我是莫小特。
这篇文章给大家分享 GESP 一级 2023 年 3 月编程题第 1 题:每月天数。

题目链接

洛谷链接:B3835 每月天数

image.png

一、完成输入

根据题目要求,我们需要输入两个整数,分别表示一个日期的年份和月份。
年份 A 的范围在 2000 到 3000 之间,月份 B 的范围在 1 到 12 之间。
用 cin 就可以实现。

int A, B;
cin >> A >> B;  // 输入年份和月份

完成输入后,我们就要对题目进行分析,写算法代码。

二、分析题意

根据题目要求,我们计算给定年份和月份对应的天数。

考虑到闰年对2月天数的影响,我们首先需要判断年份是否为闰年。

闰年判断:

(1)能被400整除的是闰年。
(2)能被4整除且不能被100整除的也是闰年。

bool isrun = false;  // 闰年条件// 判断年份是否为闰年
if ((A % 400 == 0) || ((A % 100 != 0) && (A % 4 == 0)))
{isrun = true;  // 符合闰年条件
}

每月天数:

  • 一月(1月):31天
  • 二月(2月):28天(平年),29天(闰年)
  • 三月(3月):31天
  • 四月(4月):30天
  • 五月(5月):31天
  • 六月(6月):30天
  • 七月(7月):31天
  • 八月(8月):31天
  • 九月(9月):30天
  • 十月(10月):31天
  • 十一月(11月):30天
  • 十二月(12月):31天
// 判断月份的天数
if (B == 1 || B == 3 || B == 5 || B == 7 || B == 8 || B == 10 || B == 12)
{cout << 31 << endl;  // 31天的月份
}
else if (B == 4 || B == 6 || B == 9 || B == 11)
{cout << 30 << endl;  // 30天的月份
}

再加上闰年的判断。

else if (isrun == true)
{cout << 29 << endl;  // 闰年的2月29天
}
else
{cout << 28 << endl;  // 非闰年的2月28天
}

三、验证数据

提交到网站中,通过!

四、完整代码

完整代码如下:

#include<iostream>
#include<bits/stdc++.h>
using namespace std;int main()
{int A, B;cin >> A >> B;  // 输入年份和月份bool isrun = false;  // 闰年条件// 判断年份是否为闰年if ((A % 400 == 0) || ((A % 100 != 0) && (A % 4 == 0))){isrun = true;  // 符合闰年条件}// 判断月份的天数if (B == 1 || B == 3 || B == 5 || B == 7 || B == 8 || B == 10 || B == 12){cout << 31 << endl;  // 31天的月份}else if (B == 4 || B == 6 || B == 9 || B == 11){cout << 30 << endl;  // 30天的月份}else if (isrun == true){cout << 29 << endl;  // 闰年的2月29天}else{cout << 28 << endl;  // 非闰年的2月28天}return 0;
}

如果对你有帮助,感谢点赞关注收藏哦~

http://www.xdnf.cn/news/6209.html

相关文章:

  • 创建对象
  • [Vue3]语法变动
  • 3D Gaussian Splatting 查看工具 splatviz
  • 案例 ss
  • linux-信号保存和处理
  • linux-进程信号捕捉
  • 继续预训练 LLM ——数据筛选的思路
  • Linux重定向与缓冲区
  • AI时代的弯道超车之第七章:如何用AI赋能创业?
  • 缺乏自动化测试,如何提高测试效率
  • 酒店旅游类数据采集API接口之携程数据获取地方美食品列表 获取地方美餐馆列表 景点评论
  • CodeBuddy Craft,我的编程搭子
  • element基于表头返回 merge: true 配置列合并
  • Oracle版本、补丁及升级(12)——补丁及补丁集
  • REVERSE学习笔记(攻防世界xxxorrr)
  • 【Java学习笔记】==运算符
  • 解决常见数据库问题:保障数据安全与稳定的全方位指南
  • 模板源码建站、定制建站和SaaS 建站有什么区别?企业建站应该怎么选?
  • C++引用编程练习
  • XILINX-DDR4-自定义componet(x8)-之一
  • 六西格玛觉醒:一场数据思维的启蒙运动​
  • 【江苏省】《信息技术应用创新软件适配改造成本评估规范》(DB32/T 4935-2024)-标准解读系列
  • 【Linux Nano Vim快捷键大全】
  • 基于EFISH-SCB-RK3576/SAIL-RK3576的康复训练机器人技术方案‌
  • Linux下批量提取子文件夹文件到当前目录
  • libmemcached库api接口讲解二
  • 股指期货套期保值怎么操作?
  • 【Linux】shell内置命令fg,bg和jobs
  • tensorflow安装及简单例程学习
  • 字符田字格绘制