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

洛谷C++简单题小练习day14—闰年推算小程序

day14--闰年推算小程序--2.18

习题概述

题目描述

输入 x,y,输出 [x,y] 区间中闰年个数,并在下一行输出所有闰年年份数字,使用空格隔开。

输入格式

输入两个正整数 x,y,以空格隔开。

输出格式

第一行输出一个正整数,表示 [x,y] 区间中闰年个数。

第二行输出若干个正整数,按照年份单调递增的顺序输出所有闰年年份数字。

代码部分

#include<bits/stdc++.h>
using namespace std;
bool isLeapYear(int year)//判断是否为闰年函数 
{if (year % 4 != 0) {return false;//不能被4整除 不是 }else if (year % 100 != 0) {return true;//可被4整除但不能被100整除 是 }else if (year % 400 != 0) {return false;//可被100整除但不能被400整除 不是 }else {return true;}
}int main() {int x, y;cin >> x >> y;vector<int> leapYears;//创建一个存储闰年的向量int count = 0;//计数器for (int year = x; year <= y; year++)//循环遍历输入范围内的年份{if (isLeapYear(year)) {count++;//是闰年增加计数器count并将该年份添加到leapYears向量中。leapYears.push_back(year);}}cout << count <<endl;//输出闰年总数量 //遍历leapYears向量,输出所有的闰年年份 for (int i = 0; i < leapYears.size(); i++) {cout << leapYears[i] << " ";}cout <<endl;return 0;
}

心得体会

1.  闰年是指具有366天的年份,相对于平年的365天来说多出了一天。闰年的判断规则如下:

1)如果年份能够被4整除,但不能被100整除,则是闰年。

2)如果年份能够同时被4和100整除,但不能被400整除,则不是闰年。

3)如果年份能够同时被4、100和400整除,则是闰年。

以下是一些示例:

·2000年是闰年,因为它可以被4、100和400整除。

·1900年不是闰年,因为它可以被4和100整除,但不能被400整除。

·2024年是闰年,因为它可以被4整除,但不能被100整除。

2. 在这段代码中,使用了容器(vector)来存储闰年。使用容器的好处是可以动态地存储和管理数据,而无需提前知道要存储多少个元素。

在这段代码中,使用了一个名为leapYears的向量来存储闰年。每当遇到一个闰年时,将该年份添加到向量中。这样,最后就可以通过遍历向量来输出所有的闰年。

3.对于这段代码中使用的向量容器,可以使用下标运算符[]来访问并输出其中的元素。例如,要输出向量leapYears中的第i个元素,可以使用以下语句:

cout << leapYears[i];

这将输出向量中的第i个元素。需要注意的是,向量的下标从0开始,因此第一个元素的下标为0,第二个元素的下标为1,以此类推。也可以使用迭代器来遍历容器中的所有元素,这是使用容器时更常见的做法。例如,可以使用以下代码输出向量中的所有元素:

for (vector<int>::iterator it = leapYears.begin(); it != leapYears.end(); ++it){ cout << *it << " "; }

这个循环使用迭代器it来遍历向量中的所有元素。it首先被初始化为向量的起始位置leapYears.begin(),然后在每次迭代中递增,直到it等于向量的结束位置leapYears.end()。在循环体中,使用解引用运算符*来获取迭代器指向的元素,并输出它们。

http://www.lryc.cn/news/302016.html

相关文章:

  • 房企关注的典型数字化场景之一:数字营销
  • BMS再进阶(新能源汽车电池管理系统)
  • K8s Deployment挂载ConfigMap权限设置
  • 百度智能云分布式数据库 GaiaDB-X 与龙芯平台完成兼容认证
  • 模拟电子技术——振荡器基本原理、RC桥式振荡器、矩形波发生电器
  • Vue3+Vite+TS+Pinia+ElementPlus+Router+Axios创建项目
  • VMware虚拟机安装CentOS7
  • Avalonia学习(二十四)-系统界面
  • 深入解析鸿蒙系统的页面路由(Router)机制
  • MCU中断响应流程及注意事项
  • 基于Java SSM框架实现网上报名系统项目【项目源码+论文说明】计算机毕业设计
  • Eclipse - Formatter
  • 算法练习-01背包问题【含递推公式推导】(思路+流程图+代码)
  • Eclipse - Format Comment
  • mqtt 协议的概念和理解
  • 2024年大家都在用的AI写作软件推荐,写作不再是难题
  • CPU是如何工作的?什么是冯·诺依曼架构和哈弗架构?
  • OpenAI视频生成模型Sora的全面解析:从扩散Transformer到ViViT、DiT、NaViT、VideoPoet
  • 【Java】图解 JVM 垃圾回收(一):GC 判断策略、引用类型、垃圾回收算法
  • 做抖店需要注意的几大点,新手最易踩坑,都给你们总结到这了!
  • 小程序API能力汇总——基础容器API(三)
  • 处理目标检测中的类别不均衡问题
  • (03)Hive的相关概念——分区表、分桶表
  • 2024年首发!高级界面控件Kendo UI全新发布2024 Q1
  • stable diffusion webui学习总结(2):技巧汇总
  • java 培训班预定管理系统Myeclipse开发mysql数据库web结构jsp编程servlet计算机网页项目
  • Python内置函数06——join
  • linux安装单机版redis详细步骤,及python连接redis案例
  • ts总结大全
  • 前端登录随机数字字母组合验证