蓝桥杯 - 历届试题 - 日期问题

				版权声明:本文为博主原创文章,未经博主允许不得转载。					https://blog.csdn.net/qq_33531813/article/details/79516258				</div><div id="content_views" class="markdown_views"><!-- flowchart 箭头图标 勿删 --><svg xmlns="http://www.w3.org/2000/svg" style="display: none;"><path stroke-linecap="round" d="M5,0 0,2.5 5,5z" id="raphael-marker-block" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"></path></svg><h2 id="蓝桥杯历届试题日期问题">蓝桥杯历届试题——日期问题</h2>

试题原题

#include <iostream>
#include <cstdio>
#include <algorithm>
using namespace std;//判断 year 是否是闰年
//默认 year已经是大于零的数 
bool isLeapYear(int year)
{if((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) return true; return false;
}//对传来的3个参数是否能构成一个日期  yy-mm-dd 
//规定:
//     yy∈[00,59]  yy = 20yy
//     yy∈[60,99]  yy = 19yy
//     即yy无需判断,默认合法,但某种情况下需要判断yy是闰年/平年。 
//     mm∈[01,12]  否则不合法 
//     dd∈[01,31]  否则不合法 
//        特别地:
//               dd∈[29,31]  需要根据月份、闰年/平年进行讨论 
bool isLegal (int yy, int mm, int dd)
{if(mm > 12 || mm <= 0) return false;  // 月份不合法if(dd >31 || dd <= 0) return false;   // 日期不合法if(dd <29) return true;    // 日期小于29,必定合法else{// dd 为31的情况下, 2,4,6,9,11月是不可能的 if(dd == 31 && (mm == 2 || mm == 4 || mm == 6|| mm ==9 || mm == 11)) return false; // dd 为30的情况下,2月是不可能的 if(dd == 30 && mm == 2) return false;// dd 为29的情况下,2月的平年是不可能的if(dd == 29 && mm == 2) {int year = (yy < 60)? 2000 + yy : 1900 + yy;if(!(isLeapYear(year))) return false;}} return true;
}struct Date
{int date[3]; // 0-yy; 1-mm; 2-ddbool operator < (const struct Date dt) const{for(int i = 0; i < 3; i++){if(date[i] > dt.date[i]) return false;else if(date[i] < dt.date[i]) return true;}return false;}
}legalDate[3];  int sum = 0; //记录实际共有几个合法的日期 //把合法的日期加入legalDate 
void addLegalDate(int y, int m, int d)
{int year = (y < 60)? 2000 + y : 1900 + y;for(int i = 0; i < sum; i++){//避免出现重复的日期 if(legalDate[i].date[0] == year && legalDate[i].date[1] == m && legalDate[i].date[2] == d)return;}legalDate[sum].date[0] = year;legalDate[sum].date[1] = m;legalDate[sum].date[2] = d;sum++;
}int main() 
{int date[3];    scanf("%d/%d/%d", &date[0], &date[1], &date[2]);    //穷举3种可能的情况     // 年/月/日 if(isLegal(date[0], date[1], date[2])){addLegalDate(date[0], date[1], date[2]);}// 月/日/年 if(isLegal(date[2], date[0], date[1])){addLegalDate(date[2], date[0], date[1]);}// 日/月/年 if(isLegal(date[2], date[1], date[0])){addLegalDate(date[2], date[1], date[0]);}//按日期先后排序 sort(legalDate, legalDate + sum);for(int i = 0; i < sum; i++){printf("%d-%02d-%02d\n", legalDate[i].date[0], legalDate[i].date[1], legalDate[i].date[2]);}return 0;
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86
  • 87
  • 88
  • 89
  • 90
  • 91
  • 92
  • 93
  • 94
  • 95
  • 96
  • 97
  • 98
  • 99
  • 100
  • 101
  • 102
  • 103
  • 104
  • 105
  • 106
  • 107
  • 108
					<link href="https://csdnimg.cn/release/phoenix/mdeditor/markdown_views-258a4616f7.css" rel="stylesheet"></div>

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

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

相关文章

分享WCF文件传输---WCFFileTransfer

前几天分享了分享了WCF聊天程序--WCFChat &#xff0c;本文和大家一起分享利用WCF实现文件的传输。程序运行效果&#xff1a;接收文件端&#xff1a;发送文件端&#xff1a;连接WCF服务&#xff0c;选择要传输的文件文件传输成功&#xff1a;我们会在保存文件的默认路径&#x…

蓝桥杯 日期问题

版权声明&#xff1a;本文为作者原创文章&#xff0c;转载请注明出处。 https://blog.csdn.net/Glasier/article/details/79630724 </div><link rel"stylesheet" href"https://csdnimg.cn/release/phoenix/template/css/ck_htmledit_views-f579…

linux 命令速查手册之十

今天粘贴的是linux命令之 用户管理8.1 adduser功能说明&#xff1a;新增用户帐号。语  法&#xff1a;adduser补充说明&#xff1a;在Slackware中&#xff0c;adduser指令是个script程序&#xff0c;利用交谈的方式取得输入的用户帐号资料&#xff0c;然后再交由真正建立帐号…

字符串的模式匹配--BF算法KMP算法

BF算法是基于主串指针回溯&#xff0c;重新与子串进行逐字符进行比较&#xff0c;主串为S什么要进行回溯呢&#xff0c;原因在于模式P中存在相同的字符或者说由字符&#xff08;串&#xff09;存在重复&#xff08;模式的部分匹配性质&#xff09;&#xff0c;设想如果模式P中字…

用SQL Server 监控 OS Server 的Task Management信息

用SQL Server 监控 OS Server 的Task Management信息 --原文来自于http://www.databasejournal.com/features/mssql/article.php/3562586/Monitor-CPU-Usage-of-All-Running-Processes---Part-II.htm 一&#xff1a; 监控程序部分 1. 在C 盘创一个文件夹&#xff1a;如 C…

匈牙利算法——最大匹配问题详解

2017年中兴提前批校招&#xff0c;就考了一题匈牙利算法。 匈牙利算法是由匈牙利数学家Edmonds于1965年提出&#xff0c;因而得名。匈牙利算法是基于Hall定理中充分性证明的思想&#xff0c;它是部图匹配最常见的算法&#xff0c;该算法的核心就是寻找增广路径&#xff0c;它是…

字符串匹配之KMP---全力解析

PS&#xff1a;文章是转载的 下方的微信公号不是我的 是原作者的。附上原文链接&#xff1a;字符串匹配之KMP jeliy王的博客 近日&#xff0c;一同学面试被问到字符串匹配算法&#xff0c;结果由于他使用了暴力法&#xff0c;直接就跪了(现在想想这样的面试官真的是不合格的&am…

VS2005中,access对只读目录的属性判断不准确

只读目录&#xff0c;C:/>attrib A S H R testdirC:/>attrib testdirA SHR C:/testdir (1)VC6.0的执行结果&#xff1a;***********test stat***********************file [c:/testdir] exists!file [c:/testdir] is directory!file [c:/testdir] can be read!file …

两种方法求解逆序对

逆序对定义&#xff1a;对于一个包含N个非负整数的数组A[1..n]&#xff0c;如果有i < j&#xff0c;且A[ i ]>A[ j ]&#xff0c;则称(A[ i] ,A[ j] )为数组A中的一个逆序对。 常见的两种方法求解逆序对&#xff1a;1.穷举法&#xff08;暴力求解&#xff09;&#xff0c…

页面延时跳转

Response.Write("<script>window.setTimeout(\"window.locationtest.aspx\",5000);</script>");实现延时5秒后跳转

电脑老是提示虚拟内存不足的原因及解决办法

首先普及一下何为虚拟内存 以及 虚拟内存的定义 Windows操作系统用虚拟内存来动态管理运行时的交换文件。为了提供比实际物理内存还多的内存容量以供使用&#xff0c;windows操作系统占用了硬盘上的一部分空间作为虚拟内存。当CPU有需求时&#xff0c;首先会读取内存中的资料。…

用Dreamweaver实现ASP动态网站建设【8】

八、制作删除数据记录页 用上述学过的方法在Index.asp上创建“删除”连接。新建网页命名为delete.asp&#xff0c;并打开它&#xff0c;在其上创建一个七行二列的表格&#xff0c;并在左边的表格上填写相应的字段名&#xff0c;然后给网页绑定一个记录集&#xff0c;并对其字段…

你的输入安全吗?

看看这个录像你就知道了&#xff0c;http://www.vimeo.com/2007855?pgembed&sec2007855至少有四种以上的方法来获取键盘的输入&#xff0c;老外就是牛逼&#xff0c;通过信号监听和对信号的反编译&#xff0c;直接还原用户的输入&#xff0c;不过离真正的应用还有一段距离…

POJ 1804 Brainman (归并排序 -- 求逆序对数)

归并排序求逆序对数&#xff1a; 和归并排序一样&#xff0c;划分和递归求解都好理解&#xff0c;关键在于合并&#xff0c;对于右边的j &#xff0c;统计出左边比j 大 的元素个数 f(j)&#xff0c;所有的f(j)家和就是我们要的逆序对数&#xff01; 在归并排序中&#xff0c;…

Online Judge System

原文&#xff1a;http://hi.baidu.com/myalgorithm/blog/item/936031105bdb5958f819b880.htmlOnline Judge System起源與由來「 Association for Computing Machinery (ACM) 」是一個致力於電腦科學教育的協會&#xff0c;出版大量專業期刊、文獻&#xff0c;舉辦重大的計算機科…

大学计算机网络复习题

模拟试题 一、填空题 1、局域网中常用的拓扑结构主要有星型、 环形 、总线型三种。 2 、在当前的网络系统中&#xff0c;由于网络覆盖面积的大小、技术条件和工作环境不同&#xff0c;通常分为广域网、 局域网 、和城域网三种。 3、常用的通信介…

Windows系统常用技巧总结

1、卸载office2003的时候会出现卸载不了的现象&#xff0c;提示“OFFICE2003不支持卸载修补程序”&#xff0c;打补丁也打不上。 解决方法&#xff1a; 在注册表HKEY_LOCAL_MACHINE\SOFTWARE\Classes \Installer\Products\找到OFFICE2003的东西&#xff0c;删除后&#xff0c;才…

计算机网络复习题(全套)

1、网络协议主要要素为_________。 【答案】语法、语义、同步。 2、一座大楼内的一个计算机网络系统&#xff0c;属于________。 【答案】LAN。 3、随着电信和信息技术的发展&#xff0c;国际上出现了所谓“三网融合”的趋势&#xff0c;下列属于三网之一的是(ABC) A.传统…

XXX管理平台系统——会议管理

XXX管理平台系统会议管理 关于项目中的会议管理&#xff0c;其实并无定数可言&#xff0c;与个人的爱好、管理风格、沟通能力、团队组织、项目规模、甚至公司的 IT 管理风格息息相关。 在 H公司 工作的时候&#xff0c;我的 department manager 喜欢把所有的员工召集起来一起进…

为什么要使用信道复用技术?常用的信道复用技术有哪些?

时分复用&#xff0c;频分复用&#xff0c;码分复用&#xff0c;空分复用。 使用复用技术是为了区分用户&#xff0c;合理利用所有的频谱资源不浪费。