[2021.11.14]UPC-计算机2021随堂测验第四场-21235 Problem H 自动找人系统

本文主要是介绍[2021.11.14]UPC-计算机2021随堂测验第四场-21235 Problem H 自动找人系统,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

maoge现在转到了警局工作,现在他被要求开发一个找人系统。给定三个参数a,b,c,表示年,月,日,表示一个时间节点。他要找出在两个时间节点之间的时间(两个时间节点本身也包括在内)。现在给定两个时间节点和1个时间发生的时间,他要判断这个时间是否在这个时间段之中。

maoge又双叒叕找到了你来帮忙。

输入

输入三行,三个时间,每行有三个数,表示年月日。前两行表示两个时间节点(不一定按照第一个小于第二个的顺序给出),最后一行是这个时间发生的时间。保证合法

输出

输出一个“Yes”或者“No”表示是否在这个时间段之中。

样例输入 Copy

2007 1 1
2007 12 31
2007 3 22

样例输出 Copy

Yes

题解

       其实并没有太困难的地方,就是各种判断写得太绕了,可能是我的方法太过于拙劣。也有同学通过转换为天数的方式来进行判断,分享一下我的做法,抛砖引玉~

        如此简单的目的..---判断事件是否发生在指定时间段,居然需要这么复杂的判断结构..是我的代码写的太过于臃肿杂乱了吗?... sad : (

代码如下 : )

如有纰漏,请多多指正!!

#include <cstdio>
struct t{int y,m,d;
};
int main() {bool flag;t a,b,s,e,h;scanf("%d %d %d",&a.y,&a.m,&a.d);scanf("%d %d %d",&b.y,&b.m,&b.d);scanf("%d %d %d",&h.y,&h.m,&h.d);if(a.y<b.y){    //s为起始时间,e为终止时间,一下判断用来判断a,b两者谁为起始与终止。s=a;e=b;}else if(a.y>b.y) {s = b;e = a;}else{if(a.m<b.m){s=a;e=b;}else if(a.m>b.m){s=b;e=a;}else{if(a.m<b.m){s=a;e=b;}else{s=b;e=a;}}}if(h.y>=s.y&&h.y<=e.y){if(s.y==e.y){if(s.m==e.m){if(h.d>=s.d&&h.d<=e.d){flag=true;}else flag=false;}else{if(h.m>=s.m&&h.m<=e.m){if(h.m==s.m){if(h.d>=s.d)flag=true;elseflag=false;}else if(h.m>s.m&&h.m<s.m)flag=true;else if(h.m==e.m){if(h.d<=e.d)flag=true;elseflag=false;}}else flag = false;}}else if(h.y==s.y){if(h.m==s.m){if(h.d>=s.d){flag=true;}else flag=false;}else if(h.m>s.m){flag = true;}else flag = false;}else if(h.y>s.y&&h.y<e.y)flag = true;else if (h.y==e.y){if(s.m==e.m){if(s.d<=e.d)flag=true;elseflag=false;}else if(s.m<e.m)flag=true;else flag=false;}}else flag=false;if(flag)printf("Yes");elseprintf("No");return 0;
}

这篇关于[2021.11.14]UPC-计算机2021随堂测验第四场-21235 Problem H 自动找人系统的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/903686

相关文章

CSS3 最强二维布局系统之Grid 网格布局

《CSS3最强二维布局系统之Grid网格布局》CS3的Grid网格布局是目前最强的二维布局系统,可以同时对列和行进行处理,将网页划分成一个个网格,可以任意组合不同的网格,做出各种各样的布局,本文介... 深入学习 css3 目前最强大的布局系统 Grid 网格布局Grid 网格布局的基本认识Grid 网

Java中实现订单超时自动取消功能(最新推荐)

《Java中实现订单超时自动取消功能(最新推荐)》本文介绍了Java中实现订单超时自动取消功能的几种方法,包括定时任务、JDK延迟队列、Redis过期监听、Redisson分布式延迟队列、Rocket... 目录1、定时任务2、JDK延迟队列 DelayQueue(1)定义实现Delayed接口的实体类 (

shell脚本自动删除30天以前的文件(最新推荐)

《shell脚本自动删除30天以前的文件(最新推荐)》该文章介绍了如何使用Shell脚本自动删除指定目录下30天以前的文件,并通过crontab设置定时任务,此外,还提供了如何使用Shell脚本删除E... 目录shell脚本自动删除30天以前的文件linux按照日期定时删除elasticsearch索引s

在不同系统间迁移Python程序的方法与教程

《在不同系统间迁移Python程序的方法与教程》本文介绍了几种将Windows上编写的Python程序迁移到Linux服务器上的方法,包括使用虚拟环境和依赖冻结、容器化技术(如Docker)、使用An... 目录使用虚拟环境和依赖冻结1. 创建虚拟环境2. 冻结依赖使用容器化技术(如 docker)1. 创

Go Mongox轻松实现MongoDB的时间字段自动填充

《GoMongox轻松实现MongoDB的时间字段自动填充》这篇文章主要为大家详细介绍了Go语言如何使用mongox库,在插入和更新数据时自动填充时间字段,从而提升开发效率并减少重复代码,需要的可以... 目录前言时间字段填充规则Mongox 的安装使用 Mongox 进行插入操作使用 Mongox 进行更

C语言中自动与强制转换全解析

《C语言中自动与强制转换全解析》在编写C程序时,类型转换是确保数据正确性和一致性的关键环节,无论是隐式转换还是显式转换,都各有特点和应用场景,本文将详细探讨C语言中的类型转换机制,帮助您更好地理解并在... 目录类型转换的重要性自动类型转换(隐式转换)强制类型转换(显式转换)常见错误与注意事项总结与建议类型

CentOS系统Maven安装教程分享

《CentOS系统Maven安装教程分享》本文介绍了如何在CentOS系统中安装Maven,并提供了一个简单的实际应用案例,安装Maven需要先安装Java和设置环境变量,Maven可以自动管理项目的... 目录准备工作下载并安装Maven常见问题及解决方法实际应用案例总结Maven是一个流行的项目管理工具

IDEA如何让控制台自动换行

《IDEA如何让控制台自动换行》本文介绍了如何在IDEA中设置控制台自动换行,具体步骤为:File-Settings-Editor-General-Console,然后勾选Usesoftwrapsin... 目录IDEA如何让控制台自http://www.chinasem.cn动换行操作流http://www

vscode保存代码时自动eslint格式化图文教程

《vscode保存代码时自动eslint格式化图文教程》:本文主要介绍vscode保存代码时自动eslint格式化的相关资料,包括打开设置文件并复制特定内容,文中通过代码介绍的非常详细,需要的朋友... 目录1、点击设置2、选择远程--->点击右上角打开设置3、会弹出settings.json文件,将以下内

C#实现系统信息监控与获取功能

《C#实现系统信息监控与获取功能》在C#开发的众多应用场景中,获取系统信息以及监控用户操作有着广泛的用途,比如在系统性能优化工具中,需要实时读取CPU、GPU资源信息,本文将详细介绍如何使用C#来实现... 目录前言一、C# 监控键盘1. 原理与实现思路2. 代码实现二、读取 CPU、GPU 资源信息1.