试题 历届试题 日期问题
发布日期:2021-06-29 22:18:12 浏览次数:2 分类:技术文章

本文共 2157 字,大约阅读时间需要 7 分钟。

试题 历届试题 日期问题     资源限制时间限制:1.0s   内存限制:256.0MB问题描述  小明正在整理一批历史文献。这些历史文献中出现了很多日期。小明知道这些日期都在1960年1月1日至2059年12月31日。令小明头疼的是,这些日期采用的格式非常不统一,有采用年/月/日的,有采用月/日/年的,还有采用日/月/年的。更加麻烦的是,年份也都省略了前两位,使得文献上的一个日期,存在很多可能的日期与其对应。  比如02/03/04,可能是2002年03月04日、2004年02月03日或2004年03月02日。  给出一个文献上的日期,你能帮助小明判断有哪些可能的日期对其对应吗?输入格式  一个日期,格式是"AA/BB/CC"。 (0 <= A, B, C <= 9)输出格式  输出若干个不相同的日期,每个日期一行,格式是"yyyy-MM-dd"。多个日期按从早到晚排列。样例输入02/03/04样例输出2002-03-042004-02-032004-03-02数据规模和约定  峰值内存消耗(含虚拟机) < 256M  CPU消耗 < 1000ms  请严格按要求输出,不要画蛇添足地打印类似:“请您输入...” 的多余内容。  注意:  main函数需要返回0;  只使用ANSI C/ANSI C++ 标准;  不要调用依赖于编译环境或操作系统的特殊函数。  所有依赖的函数必须明确地在源文件中 #include 
  不能通过工程设置而省略常用头文件。  提交程序时,注意选择所期望的语言类型和编译器类型。
#include
#include
using namespace std;struct node{
int yy,mm,dd;}t[100000],t1[100000];bool cmp(struct node n1,struct node n2){
if(n1.yy!=n2.yy) return n1.yy<=n2.yy; else if(n1.mm!=n2.mm) return n1.mm<=n2.mm; else return n1.dd<=n1.dd;}int main(){
int i=0,j=0,n=0,y=0,m=0,d=0; //如果这年是闰年,二月天数是29,不是闰年的话,二月天数是28; int day_month[100]={
0,31,28,31,30,31,30,31,31,30,31,30,31}; scanf("%d/%d/%d",&y,&m,&d); t[0].yy = 2000+y,t[0].mm = m,t[0].dd = d; t[1].yy = 1900+y,t[1].mm = m,t[1].dd = d; t[2].yy = 2000+d,t[2].mm = y,t[2].dd = m; t[3].yy = 1900+d,t[3].mm = y,t[3].dd = m; t[4].yy = 2000+d,t[4].mm = m,t[4].dd = y; t[5].yy = 1900+d,t[5].mm = m,t[5].dd = y; sort(t,t+6,cmp); int p=0; for(i=0;i<6;i++) {
//2000年开头的; if(t[i].yy>=1960&&t[i].yy<=2059) {
//判断是否为闰年; //如果是闰年; if(t[i].yy%4==0||t[i].yy%100!=0&&t[i].yy%400==0) {
if(t[i].mm>=1&&t[i].mm<=12) {
day_month[2] = 29; if(t[i].dd>=1&&t[i].dd<=day_month[t[i].mm]) {
t1[p].yy = t[i].yy; t1[p].mm = t[i].mm; t1[p].dd = t[i].dd; p++;// printf("%4d-%02d-%02d\n",t[i].yy,t[i].mm,t[i].dd); } } } else {
if(t[i].mm>=1&&t[i].mm<=12) {
day_month[2] = 28; if(t[i].dd>=1&&t[i].dd<=day_month[t[i].mm]) {
t1[p].yy = t[i].yy; t1[p].mm = t[i].mm; t1[p].dd = t[i].dd; p++;// printf("%4d-%02d-%02d\n",t[i].yy,t[i].mm,t[i].dd); } } } } } //去掉重复的日期数据; for(i=0;i

转载地址:https://dingshijie.blog.csdn.net/article/details/108987304 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:7-3 奇数阶魔阵 (25分)
下一篇:7-2 消掉ACM (20分)

发表评论

最新留言

初次前来,多多关照!
[***.217.46.12]2024年04月12日 09时24分45秒