#1晴问题目分享 (codeup 1928) 日期差值(详细注释)

news2024/11/24 15:45:15

1.题目:

        有两个日期,求两个日期之间的天数,如果两个日期是连续的,则规定它们之间的天数为两天。

2.输入格式:

        有多组数据每组数据有两行分别表示两个日期形式为YYYMMDD

3.输出格式:

        每组数据输出一行,即日期差值

4.举例:

20240807

20240808

2

5.代码展示:详细注释

#include <stdio.h>

// 一个二维数组存放平年闰年的十二个月的天数 ,第一列为平年,第二列为闰年。 
//注意数组是13而不是12的原因就是数组是从0开始的,那么第一排就只起到占位的作用,使月份对齐。 
int month[13][2] =
{
	{0,0},
	{31,31},
	{28,29},
	{31,31},
	{30,30},
	{31,31},
	{30,30},
	{31,31},
	{31,31},
	{30,30},
	{31,31},
	{30,30},
	{31,31}
};
//判断平闰年 前面是非整百年判断,后者是整百年判断 ,是闰年就返回1,反之为0; 
bool isLeap(int year){
	return (year%4==0 && year%100!=0) || (year%400==0);
}

int main(){
	//表示时间,分别为年y 月:m 日:d。 
	int time1, y1, m1, d1;
	int time2, y2, m2, d2;
	//EOF表示-1,只有不是-1的值就能进入while循环 
	while(scanf("%d%d", &time1,&time2)!=EOF){
		//调换时间目的是使time1<time2方便判断 
		if(time1>time2){
			int temp;
			temp = time1;
			time1 = time2;
			time2 = temp;
		}
		//我们的值输入为八位例如:20240808,下面的操作即取出我们所需的年月日。 
		y1 = time1/10000, m1 = time1%10000/100, d1 = time1%100;	
		y2 = time2/10000, m2 = time2%10000/100, d2 = time2%100;	
		//用来计数 
		int ans = 1;
		//判断满足y1=y2,m1=m2,d1=d2时即终止条件 
		while(y1<y2 || m1<m2 || d1<d2){
			d1++;
			//isLeap()是一个bool函数只能返回0或者1,用来结合month数组来指定对应的平闰年确定某月天数。
			// month[m1][isLeap(y1)]+1) 加一的目的是判断当前天数情况判断是否进入下一个月。 
			if(d1 == month[m1][isLeap(y1)]+1){
				m1++;
				d1 = 1;
			}
			if(m1 == 13){
				y1++;
				m1 = 1;
			}
			ans++;
		}
		printf("%d\n",ans);
	}
	return 0;
} 

这是本人的学习记录罢了,都是非常基础的题分享给大家,做做参考。如果有错误的地方请大家一定要告知本人。再次表示感谢,如果对大家有帮助的话,希望大家点点赞,关注关注。此后会不断的更新。 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1992863.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【数据结构-前缀哈希】力扣525. 连续数组

给定一个二进制数组 nums , 找到含有相同数量的 0 和 1 的最长连续子数组&#xff0c;并返回该子数组的长度。 示例 1: 输入: nums [0,1] 输出: 2 说明: [0, 1] 是具有相同数量 0 和 1 的最长连续子数组。 示例 2: 输入: nums [0,1,0] 输出: 2 说明: [0, 1] (或 [1, 0]) 是…

摸着石头过河的具身智能公司,正在寻求“确定性”

在种种不确定因素之下&#xff0c;对于具身智能&#xff0c;唯一可以确定的是&#xff0c;其未来巨大的市场空间。从纷纷入局的科技巨头、创业公司的市场现状即可窥见一二。而类比到自动驾驶&#xff0c;其也是抛开层层迷雾后才得以在今天看见曙光。 相信&#xff0c;于具身智…

高效报销管理:领先软件的综合评测

本文主要介绍了以下10款报销管理软件&#xff1a;合思、明道云、汇联易、畅捷通、慧算账、云之家、Ramp、Nexonia by Emburse、Rydoo、Expensify。 在处理财务报销时&#xff0c;你是否经常感到手续繁琐、效率低下&#xff1f;选择合适的软件系统&#xff0c;能够显著优化整个报…

亚信安全以安全守护的“星座”正闪耀太空

近日来&#xff0c;一个Made in China的“星座”闪耀太空&#xff0c;受到世界瞩目。“千帆星座”计划&#xff0c;首批18颗商业组网卫星成功发射升空&#xff0c;目前已顺利进入停泊轨道&#xff0c;见证了我国卫星互联网发展的重要时刻&#xff0c;未来将开启面相全球用户的低…

模块化叙事的演变:DeFi借贷开发的模块化转型

随着区块链技术的不断发展&#xff0c;去中心化金融&#xff08;DeFi&#xff09;正经历一场深刻的变革。模块化借贷作为这一变革的重要部分&#xff0c;正逐渐成为加密金融领域的焦点。本文将探讨模块化借贷的起源、演变及其未来发展方向。 一、模块化的起源 模块化区块链的概…

5.2二叉树的概念

5.2.1二叉树的定义 二叉树特点: ①每个节点最多只有两颗子树 ②二叉树的子树有左右之分,不能随意颠倒 ③二叉树为有序树 几种特殊的二叉树 满二叉树 除叶节点之外的每个节点度数均为2 对于编号i的节点,若有双亲,则双亲为i/2-向下取整 若有左孩子,则为2i;若有右孩子则为…

云计算实训24——python基本环境搭建、变量和数据类型、数据集合、py脚本

一、python环境搭建 确保拥有阿里云镜像 查看python环境 [rootpython ~]# yum list installed | grep python 查看epel是否安装 [rootpython ~]# yum list installed | grep epel 安装epel [rootpython ~]# yum -y install epel-release.noarch 查看是否安装python3 [rootpyt…

AI 点燃体育热情!使用 PAI-Artlab 定制专属海报

PAI ArtLab 是人工智能平台 PAI 为设计专业人士打造的 AIGC 智能设计工具&#xff0c;支持云端Stable Diffusion、Kohya 等主流文生图与模型训练应用&#xff0c;提供 AIGC 全场景能力。为了向在赛场上的奥运健儿传递最真挚的鼓舞与喝彩&#xff0c;我们特此发起一场别开生面的…

远程终端 XShell 下载安装配置使用(超详细)

今天给伙伴们分享一下VMware Workstation17 安装 Windows 10 操作系统&#xff0c;希望看了有所收获。 我是公众号「想吃西红柿」「云原生运维实战派」作者&#xff0c;对云原生运维感兴趣&#xff0c;也保持时刻学习&#xff0c;后续会分享工作中用到的运维技术&#xff0c;在…

【数学建模】简单的优化模型-5 不买贵的只买对的

背景 在琳琅满目的市场里选购商品&#xff0c;我们往往遵循 “不买贵的&#xff0c;只买对的” 的准则。然而哪些商品、买多少才是“对的”&#xff1f;这时候&#xff0c;我们需要用到&#xff0c;消费者追求最大效用&#xff08;经济学的最优化原理&#xff09;&#xff0c;…

java学习笔记 VSCode

2.管理员身份打开cmd,切换存文件的路径 2.输入下面命令创建文件 npm create vitelatest 将项目命名为easyb选择vue--->JavaScript 3,用管理员身份打开VSCode,打开刚刚创建的easyb 4.下载包 npm install npm install vue-router npm install axios npm install element-plus…

数据可视化入门:使用 Matplotlib、Numpy 和 SciPy 绘图

数据可视化是数据分析不可或缺的工具&#xff0c;它通过图形化手段帮助我们更直观地理解数据。Python拥有多种库来实现数据可视化&#xff0c;其中matplotlib、numpy和scipy是最常用的几个。本文将详细介绍如何使用这些库来创建各种图表和曲面。 环境搭建 在开始之前&#xf…

SPSS、Python员工满意度问卷调查激励保健理论研究:决策树、随机森林和AdaBoost|附代码数据

全文链接&#xff1a;https://tecdat.cn/?p37293 原文出处&#xff1a;拓端数据部落公众号 在深入了解公司当前的实际情况和员工内心真实想法的基础上&#xff0c;我们旨在从专业视角出发&#xff0c;为企业在组织管理方面的不足进行诊断&#xff0c;并进行全面审视。 为了…

激发创意:十大设计灵感网站推荐

在设计的世界里&#xff0c;灵感是推动创意发想和项目实现的关键因素。设计师们常常需要寻找新的灵感来源&#xff0c;以保持作品的新鲜感和创新性。幸运的是&#xff0c;互联网上有许多优秀的设计灵感网站&#xff0c;它们提供了丰富的资源和启发&#xff0c;帮助设计师们打破…

leetcode-二叉树oj题1(共三道 965,100,144)--c语言

目录 a. 二叉树的概念以及实现参照博客&#xff1a; 一、三道题的oj链接 二、每题讲解 1.单值二叉树 a. 题目&#xff1a; b. 题目所给代码 c. 思路 d. 代码&#xff1a; 2. 相同的树 a. 题目 b. 题目所给代码 c. 思路 d. 代码 3. 二叉树的前序遍历 a. 题目 b.…

软考:软件设计师 — 11.UML 建模

十一. UML 建模 UML 建模部分是下午场考试中第三个题目&#xff0c;分值 15 分。先介绍一下这类题目的考查形式。 1. 考察形式 &#xff08;1&#xff09;类图与对象图 填类名&#xff0c;方法名&#xff0c;属性名填关系填多重度 UML 中四种基本关系&#xff1a; 依赖关…

【IO模型】select、poll、epoll的区别

文章目录 五种IO模型阻塞IO非阻塞IO信号驱动IOIO复用异步IO IO复用的原理selectselect原理及缺点 pollpoll的原理及其缺点 epollepoll_createepoll_ctlepoll_waitepoll的原理水平触发和边缘触发epoll的优点 五种IO模型 I/O模型是操作系统中用于管理输入输出操作的机制。不同的…

多线程 02:线程实现,创建线程的三种方式,通过多线程下载图片案例分析异同(Thread,Runnable,Callable)

一、概述 记录时间 [2024-08-08] 前置知识&#xff1a;Java 基础篇&#xff1b;Java 面向对象 多线程 01&#xff1a;Java 多线程学习导航&#xff0c;线程简介&#xff0c;线程相关概念的整理 Java 多线程学习主要模块包括&#xff1a;线程简介&#xff1b;线程实现&#xff…

MySQL 体系架构

文章目录 一. MySQL 分支与变种1. Drizzle2. MariaDB3. Percona Server 二. MySQL的替代1. Postgre SQL2. SQLite 三. MySQL 体系架构1.连接层2 Server层&#xff08;SQL处理层&#xff09;3. 存储引擎层1&#xff09;MySQL官方存储引擎概要2&#xff09;第三方引擎3&#xff0…

【java】一维数组

目录 一维数组内存分析Java虚拟机的内存划分一维数组内存解析 一维数组知识点一维数组课后练习 一维数组内存分析 Java虚拟机的内存划分 为了提高运行效率&#xff0c;就对空间进行了不同区域的划分&#xff0c;因为每一片区域都有特定的处理数据方式和内存管理方式。 java中…