Day05 日期类OJ题目

计算日期到天数转换_牛客题霸_牛客网根据输入的日期,计算是这一年的第几天。 保证年份为4位数且日期合法。 进阶:时。题目来自【牛客题霸】icon-default.png?t=O83Ahttps://www.nowcoder.com/share/jump/4938575031726974727572 

根据输入的日期,计算是这一年的第几天。

保证年份为4位数且日期合法。

进阶:时间复杂度:O(n) O(n) ,空间复杂度:O(1) O(1) 

输入描述:

输入一行,每行空格分割,分别是年,月,日

输出描述:

输出是这一年的第几天

#include <iostream>
using namespace std;bool IsLeapYear(int year) // 闰年判断
{if(((year%4 == 0 && 0 != year%100) || (0 == year%400)))return true;return false;
}int GetDayofYear(int year, int month, int day)
{int days = 0;   // 用于返回结果int DayOfMonth[13] = { 0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };for(int i = 1; i < month; i++) // 将当前月份之前所有day加上{days += DayOfMonth[i];if(i == 2 && IsLeapYear(year))  // 若是闰年 加一天days+=1;}days += day;return days;
}int main() 
{int year, month, day;while(cin>>year>>month>>day){cout << GetDayofYear(year, month, day) <<endl;}return 0;   
}

日期差值_牛客题霸_牛客网有两个日期,求两个日期之间的天数,如果两个日期是连续的我们规定他们之间的天数为两天。题目来自【牛客题霸】icon-default.png?t=O83Ahttps://www.nowcoder.com/share/jump/4938575031726976288481

描述

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

输入描述:

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

输出描述:

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

示例1

输入:

20110412
20110422

输出:

11
#include <iostream>
using namespace std;class Date
{public:bool Isleap(int year){if((year%4==0 && year%100!=0) || year%400==0)return true;elsereturn false;}int Getday(int year, int month){int arr[13] = {0, 31, 28, 31,30,31,30,31,31,30,31,30,31};int day = arr[month];if(Isleap(year) && month == 2)day += 1;return day;}Date(int year = 2022, int month = 12, int day = 8): _year(year), _month(month), _day(day){if(!((year>0) && (month>0 && month<=12) && (day>0 && day<=Getday(year, month)))){cout<<"输入的日期不正确,即将将日期重新初始化为默认日期"<<endl;_year = 2022;_month = 12;_day = 8;}}Date(const Date& d){_year = d._year;_month = d._month;_day = d._day;}// Date operator+(int day)// {//     Date temp(*this);//     temp._day += day;//     int GetDay = 0;//     while(temp._day > (GetDay = Getday(temp._year, temp._month)))//     {//         temp._day -= GetDay;//         temp._month += 1;//         if(temp._month == 13)//         {//             temp._month = 1;//             temp._year += 1;//         }//     }//     return temp;// }Date operator+(int day){// 因为 + 不改变左右参数的值,所以可以使用一个临时变量来存储并返回所得的结果。Date temp(*this);temp._day += day;// 当这个天数不合法时循环继续int Daysofmonth = 0;while (temp._day >  (Daysofmonth = Getday(temp._year, temp._month))){// _day 减去本月的天数temp._day -= Daysofmonth;// _month 后移一月temp._month += 1;// 对月数格式检测是否合法,如果到13月了 直接转入1月if (temp._month == 13){temp._month = 1;temp._year += 1;}}return temp;}bool operator>(Date d){if(_year>d._year || (_year==d._year && _month>d._month) || (_year==d._year && _month==d._month && _day>d._day))return true;elsereturn false;}bool operator==(Date d){return (_year==d._year && _month==d._month && _day==d._day);}bool operator!=(Date d){return !(*this==d);}// int operator-(Date d)// {//     Date maxdate(*this);//     Date mindate(d);//     if(mindate>maxdate)//     {//         maxdate = d;//         mindate = *this;//     }//     int count = 0;//     while(maxdate != mindate)//     {//         mindate = mindate + 1;//         count++;//     }//     return count;// }int operator-(const Date& d){Date maxdate(*this);Date mindate(d);if (mindate > maxdate){maxdate = d;mindate = *this;}int count = 0;while (mindate != maxdate){count++;mindate = mindate + 1;}return count;}private:int _year;int _month;int _day;
};int main() {// char s1[8], s2[8];// cin>>s1>>s2;// char s1_year[4], s2_year[4];// for(int i = 0; i < 4; ++i)// {//     s1_year[i] = s1[i];//     s2_year[i] = s2[i];// }// char s1_month[2], s2_month[2];// for(int i = 4; i < 6; ++i)// {//     s1_month[i] = s1[i];//     s2_month[i] = s2[i];// }// char s1_day[2], s2_day[2];// for(int i = 4; i < 6; ++i)// {//     s1_day[i] = s1[i];//     s2_day[i] = s2[i];// }// Date d1(atoi(s1_year), atoi(s1_month), atoi(s1_day));// Date d2(atoi(s2_year), atoi(s2_month), atoi(s2_day));int time1,y1,m1,d1;int time2,y2,m2,d2;scanf("%d%d",&time1,&time2);if(time1 > time2){int temp = time1;time1 = time2;time2 = temp;}y1 = time1/10000;m1 = time1%10000/100;d1 = time1%100;y2 = time2/10000;m2 = time2%10000/100;d2 = time2%100;Date D1(y1, m1, d1);Date D2(y2, m2, d2);int day = D1 - D2;cout<<day+1<<endl;}
// 64 位输出请用 printf("%lld")

 打印日期_牛客题霸_牛客网给出年分m和一年中的第n天,算出第n天是几月几号。。题目来自【牛客题霸】icon-default.png?t=O83Ahttps://www.nowcoder.com/share/jump/4938575031726985648236

描述

给出年分m和一年中的第n天,算出第n天是几月几号。

输入描述:

输入包括两个整数y(1<=y<=3000),n(1<=n<=366)。

输出描述:

可能有多组测试数据,对于每组数据, 按 yyyy-mm-dd的格式将输入中对应的日期打印出来。

示例1

输入:

2000 3
2000 31
2000 40
2000 60
2000 61
2001 60

输出:

2000-01-03
2000-01-31
2000-02-09
2000-02-29
2000-03-01
2001-03-01
#include <iostream>
using namespace std;
#include <stdio.h>bool Isleap(int year) 判断闰年{if((year%4==0 && year%100!=0) || year%400==0)return true;elsereturn false;}int getday(int year, int month)    获取该年该月天数
{int arr[13] = {0, 31, 28, 31,30,31,30,31,31,30,31,30,31};int day = arr[month];if(month == 2 && Isleap(year))return day+1;elsereturn day;
}int main() {int _year, _day;while (scanf("%d %d", &_year, &_day) != EOF) { int month = 1;int day = getday(_year, month); 用给出的_day每次减去当月while(_day > day)               若_day小于day则就在该月{                            否则就是在后面月份,更新_day 和 month_day -= day;month++;day = getday(_year, month);}printf("%d-%02d-%02d\n", _year, month, _day);}return 0;
}
// 64 位输出请用 printf("%lld")

日期累加_牛客题霸_牛客网设计一个程序能计算一个日期加上若干天后是什么日期。。题目来自【牛客题霸】icon-default.png?t=O83Ahttps://www.nowcoder.com/share/jump/4938575031726985933191

描述

设计一个程序能计算一个日期加上若干天后是什么日期。

输入描述:

输入第一行表示样例个数m,接下来m行每行四个整数分别表示年月日和累加的天数。

输出描述:

输出m行,每行按yyyy-mm-dd的个数输出。

示例1

输入:

1
2008 2 3 100

输出:

2008-05-13
#include <iostream>
using namespace std;
#include<stdio.h>bool Isleapyear(int year)
{if((year%4==0 && year%100!=0) || year%400==0)return true;return false;
}int GetDay(int year, int month)
{int arr[13] = {0,31,28,31,30,31,30,31,31,30,31,30,31};int day = arr[month];if(Isleapyear(year) && month==2)return day+1;elsereturn day;
}void Date(int _year, int _month, int _day, int day)
{_day += day;while(_day > GetDay(_year, _month)){_day-=GetDay(_year, _month);_month+=1;if(_month==13){_year+=1;_month=1;}}printf("%d-%02d-%02d\n", _year,_month,_day);
}int main() {int n,_year,_month,_day,day;cin>>n;for(int i = 0; i < n; ++i){cin>>_year>>_month>>_day>>day;Date(_year,_month,_day,day);}
}
// 64 位输出请用 printf("%lld")

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

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

相关文章

Golang | Leetcode Golang题解之第429题N叉树的层序遍历

题目&#xff1a; 题解&#xff1a; func levelOrder(root *Node) (ans [][]int) {if root nil {return}q : []*Node{root}for q ! nil {level : []int{}tmp : qq nilfor _, node : range tmp {level append(level, node.Val)q append(q, node.Children...)}ans append(a…

HTML和CSS做一个无脚本的手风琴页面(保姆级)

一、前言 使用HTML和CSS做一个无脚本的手风琴页面。让知识以自己喜欢的方式进入脑子&#xff0c;适用于很多场景&#xff0c;比如以下&#xff1a; 【注&#xff1a;图片源自百度】 二、HTML框架 使用外部样式表&#xff0c;将CSS文件用link标签引入 整体框架如下图&#x…

20240923 每日AI必读资讯

GPT-4o能玩《黑神话》&#xff01;精英怪胜率超人类&#xff0c;无强化学习纯大模型方案 - 阿里巴巴的研究人员们提出了一个新型VARP&#xff08;视觉动作角色扮演&#xff09;智能体框架。 - 能直接将游戏截图作为输入&#xff0c;通过视觉语言模型推理&#xff0c;最终生成…

WebGL颜色与纹理

WEBGL中的着色器变量包括以下种类&#xff1a; 属性变量&#xff08;Attribute Variables&#xff09;&#xff1a;这些变量用于接收从应用程序中传递的顶点数据&#xff0c;比如顶点位置和颜色&#xff0c;是只读的不可修改。统一变量&#xff08;Uniform Variables&#xff…

STM32篇:开发环境安装

编程语言&#xff1a;C语言 需要安装的软件有两个&#xff1a;Keil5 和 STM32CubeMX 一.Keil5 的安装 使用 Keil4 写 STM32 代码其实也是可以&#xff0c;但需要很复杂的配置&#xff0c;不建议新手操作。 比较推荐 Keil5 编写 STM32 &#xff0c;只需要一些简单的设置就可…

定了,东湖高新区下半年中高级职称申报时间

2024年东湖高新区中级职称申报开始了&#xff0c;水测成绩上周已出&#xff0c;本周已经开始申报了&#xff0c;时间确实挺着急的。 报送材料起止时间及地点&#xff1a; &#xff08;一&#xff09;网上报名时间&#xff1a; 2024年9月14日至9月30日24:00 &#xff08;二&…

C++ | Leetcode C++题解之第429题N叉树的层序遍历

题目&#xff1a; 题解&#xff1a; class Solution { public:vector<vector<int>> levelOrder(Node* root) {if (!root) {return {};}vector<vector<int>> ans;queue<Node*> q;q.push(root);while (!q.empty()) {int cnt q.size();vector<…

C/C++中的内存管理

文章目录 前言一、C/C中的内存分布二、C语言中动态内存管理方式&#xff1a;malloc/calloc/realloc/free 三、C中的内存管理方式四、operator new与operator delete函数五、new和delete的实现原理 六、定位new表达式(placement-new) 七、malloc/free和new/delete的区别 总结 前…

django学习入门系列之第十点《A 案例: 员工管理系统15》

文章目录 15 认识Ajax15.4 ajax请求的返回值实例2&#xff1a;前端输入数据提交到后端实例3&#xff1a;传输多个数据 往期回顾 15 认识Ajax 15.4 ajax请求的返回值 一般数据交互整合的都是json格式 后端一般会返回一个JSON格式 返回json格式一般有以下两种写法 上面注释的…

【全网最全】2024年华为杯研究生数学建模A题成品论文

您的点赞收藏是我继续更新的最大动力! 一定要点击如下的卡片&#xff0c;那是获取资料的入口&#xff01; 点击链接获取群聊【2024华为杯研赛资料汇总】&#xff1a;https://qm.qq.com/q/yB6JDUTaWAhttps://qm.qq.com/q/yB6JDUTaWAA题第一问是关于如何建立一个低复杂度模型&a…

Java--File

FIle 概述 File的构造方法 > 1. 一个File对象代表硬盘中实际存在的一个文件或者目录。 > 2. 无论该路径下是否存在文件或者目录&#xff0c;都不影响File对象的创建。 代码演示&#xff1a; // 文件路径名 String pathname "D:\\aaa.txt"; File file1 new …

一些迷你型信息系统 - 2

1 Linux内核数据结构信息查询 Linux内核的数据结构众多&#xff0c;成千上万&#xff0c;做一个程序来存储查询信息&#xff1b;自己录入数据&#xff1b; 代码字段最长可录入65535个字符&#xff1b;每个字段录入时长度超限会有红色告警&#xff1b; 其他的以后想到再做&#…

5分钟快速制作高质量、美观的Excel甘特图

你是否还在为如何制作甘特图而感到苦恼&#xff1f; 是否因为甘特图制作过程繁琐、耗时过长而影响了你的工作效率&#xff1f; 是否每当任务计划发生变更时&#xff0c;都需要反复重新绘制甘特图&#xff0c;让你感到疲惫不堪&#xff1f; 又或者&#xff0c;你是否一直渴望…

【AI算法岗面试八股面经【超全整理】——NLP】

AI算法岗面试八股面经【超全整理】 概率论【AI算法岗面试八股面经【超全整理】——概率论】信息论【AI算法岗面试八股面经【超全整理】——信息论】机器学习【AI算法岗面试八股面经【超全整理】——机器学习】深度学习【AI算法岗面试八股面经【超全整理】——深度学习】NLP【A…

cmd快速进入文件夹目录下

首先&#xff0c;将文件夹直接点击左键拖动至cmd窗口中&#xff0c;就可以得到目录路径。 还有就是&#xff0c;在命令行直接敲入D:或者C:就可以在磁盘之间进行转换&#xff0c;注意冒号不要丢。 再有&#xff0c;如果进入某磁盘中的一个文件夹&#xff0c;使用cd命令。路径获取…

新质农业——水肥一体化技术

橙蜂智能公司致力于提供先进的人工智能和物联网解决方案&#xff0c;帮助企业优化运营并实现技术潜能。公司主要服务包括AI数字人、AI翻译、埃域知识库、大模型服务等。其核心价值观为创新、客户至上、质量、合作和可持续发展。 橙蜂智农的智慧农业产品涵盖了多方面的功能&…

开机容易关机难?合宙Air201资产定位模组LuatOS的PWRKEY控制来实现!

关于合宙Air201&#xff0c;我们已经发布了5期基础知识啦&#xff01;你是不是已经都学会了&#xff1f; 来来来&#xff0c;我们继续高阶学习&#xff1a;合宙Air201应用示例——PWRKEY控制关机功能 PWRKEY控制关机功能 合宙Air201资产定位模组——是一个集成超低功耗4G通信…

命名管道详解

命名管道 匿名管道应用的限制就是只能在具有共同祖先的进程间通信。如果我们想要在不相关的进程之间交换数据&#xff0c;可以使用使用FIFO文件来做这项工作&#xff0c;它被称为命名管道。命名管道是一种特殊类型的文件。 mkfifo函数 命名管道可以从命名行上创建&#xff0c…

iOS V2签名网站系统源码,开源免授权(含视频教程)

这是一款iOS签名站的开源源码&#xff0c;免去了授权&#xff0c;它支持UDID获取、软件选择以及签名码功能。 同时&#xff0c;用户可以多开APP进行安装。这是一个自主可下载的版本&#xff0c;感兴趣的用户可以自行获取。 源码下载&#xff1a;https://download.csdn.net/do…

云和恩墨携手华为,发布zCloud数据库备份管理一体机并宣布共建数据保护生态...

为期三天的第九届华为全联接大会&#xff08;HUAWEI CONNECT 2024&#xff09;于9月19日在上海世博中心&展览馆盛大召开。20日下午&#xff0c;一场围绕“全场景数据保护&#xff0c;护航数智化时代”的专题论坛举办&#xff0c;云和恩墨受邀参加&#xff0c;并期待与华为合…