日期相关的题目

日期相关的题目

  • 1. 计算日期到天数转换
  • 2. 日期累加
  • 3. 打印日期
  • 4. 日期差值

1. 计算日期到天数转换

在这里插入图片描述

输出示例:
在这里插入图片描述

思路:计算前n-1个月的天数在加上这个月的天数。

#include <iostream>
using namespace std;

int main() {
	int year, month, day;
	cin >> year >> month >> day;
	int month_day[] = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };
	int i = 0;
	int days = 0;
	for (i = 0; i < month; i++)
	{
		days += month_day[i];
	}

	days += day;
    if(month > 2 && (((year % 4 == 0) && (year % 100 != 0)) || (year % 400) == 0))
	{
		days += 1;
	}

	cout << days;

	return 0;
}

在这里插入图片描述

2. 日期累加

在这里插入图片描述

输出示例:
在这里插入图片描述

思路:直接加到天上,在进位求出日期

#include <iostream>
using namespace std;

int GetMonthDay(int year ,int month)
{
     int months[] = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };


    int day = months[month];

    if (month == 2 &&( ((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0)))
    {
        day++;
    }

    return day;
}

int main() {
    int n = 0;
    cin >> n;

    int year = 0,month = 0, day = 0,num;

    while (n-- && (cin >> year >> month >> day >> num) ) 
    { 
        day += num;
        while (day > GetMonthDay(year,month))
        {
            day -= GetMonthDay(year,month);
            month++;
            if (month == 13)
            {
                month = 1;
                year++;
            }
        }

       printf("%04d-%02d-%02d\n", year, month, day);
    }
}

在这里插入图片描述

3. 打印日期

在这里插入图片描述

输出示例:
在这里插入图片描述
思路:从这年的1月1开始加,但是注意要要减掉一天,比如:求这一年的第一天的日期,就是1月1号,也可以理解为从1月0号开始加,所以直接加到天上,在进位求日期

#include <iostream>
using namespace std;

int GetMonthDay(int year,int month)
{
    int months[] = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };

    int day = months[month];

   if (month == 2 && ((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0) ))
    {
        day += 1;
    }

    return day;
}

int main() {
    int year = 0;
    int n = 0;
    while (cin >> year >> n) { 
        //从这年的1月1开始加,但是要减一天
        int month = 1;
        int day = n;//1 + n - 1
       while (day > GetMonthDay(year,month) )
       {
        
          day -= GetMonthDay(year,month);
          month++;
          if (month == 13)
          {
            year++;
            month = 1;
          }
       }

       printf("%4d-%02d-%02d\n",year,month,day);

    }
}

在这里插入图片描述

4. 日期差值

在这里插入图片描述

输出示例:
在这里插入图片描述

思路:直接从这天开始加,加到相等为止,每加一天就记一次数。

#include <iostream>
using namespace std;

int GetMonthDay(int year,int month)
{
    int months[] = {0,31,28,31,30,31,30,31,31,30,31,30,31};

    int day = months[month];

    if (month == 2 && (((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0)))
    {
        day++;
    }

    return day;
}

void Add(int& year,int& month,int& day)
{
    day += 1;
    while (day > GetMonthDay(year,month))
    {
        day -= GetMonthDay(year,month);
        month++;
        if (month == 13)
        {
            month = 1;
            year++;
        }
    }
} 

int main() {
    int year1,month1,day1;
    scanf("%4d%2d%2d",&year1,&month1,&day1);

    int year2,month2,day2;
    scanf("%4d%2d%2d",&year2,&month2,&day2);

    int count = 0;
    int flag = 0;

    if (year2 > year1)
    {
        flag = 1;
    }
    else if (year1 == year2 && month1 < month2)
    {
         flag = 1;
    }
    else if (year1 == year2 && month1 == month2 && day1 < day2)
    {
        flag = 1;
    }

    if (flag == 1)
    {
        swap(year1,year2);
        swap(month1,month2);
        swap(day1,day2);
    }

    while (!(year1 == year2 && month1 == month2 && day1 == day2))
    {
        Add(year2,month2,day2);
        count++;
    }

    cout << count + 1;
}

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

数据结构练习-数据结构概述

----------------------------------------------------------------------------------------------------------------------------- 1. 在数据结构中&#xff0c;从逻辑上可以把数据结构分成( )。 A. 动态结构和静态结构 B. 紧凑结构和非紧凑结构 C. 线性结…

Spring AI Summary

版权声明 本文原创作者&#xff1a;谷哥的小弟作者博客地址&#xff1a;http://blog.csdn.net/lfdfhl Spring AI is a project that aims to streamline the development of AI applications by providing abstractions and reusable components that can be easily integrate…

梯度消失/梯度爆炸

梯度消失/梯度爆炸&#xff08;Vanishing / Exploding gradients&#xff09; 梯度消失或梯度爆炸&#xff1a;训练神经网络的时候&#xff0c;导数或坡度有时会变得非常大&#xff0c;或者非常小&#xff0c;甚至于以指数方式变小&#xff0c;这加大了训练的难度。 g ( z ) …

Java学习Go(入门)

下载Go 《官网下载golang》 直接点Download&#xff0c;然后根据你自己的操作系统进行下载&#xff0c;我这里以win10为例 安装go 默认安装到C:\Program Files\Go&#xff0c;这里我们可以选择安装到其他盘&#xff0c;也可以选择默认安装。初学者建议直接一路next。 安装完…

Java发送邮件 启用SSL

使用的maven依赖: <dependency><groupId>com.sun.mail</groupId><artifactId>javax.mail</artifactId><version>1.4.7</version> </dependency> 配置文件mail.properties如下: # 邮箱配置 email.username=your-email@exa…

(助力国赛)美赛O奖数学建模可视化!!!含代码2(箱型图、旭日图、直方图、三元图、平行坐标图、密度图、局部放大图)

众所周知&#xff0c;数学建模的过程中&#xff0c;将复杂的数据和模型结果通过可视化图形呈现出来&#xff0c;不仅能够帮助我们更深入地理解问题&#xff0c;还能够有效地向评委展示我们的研究成果。   今天&#xff0c;承接《可视化代码1》&#xff0c;作者将与大家分享《…

【软考---系统架构设计师】软件架构

目录 1 一、软件架构的概念 二、软件架构风格 &#xff08;1&#xff09;数据流风格​​​​​​​ &#xff08;2&#xff09;调用/返回风格 &#xff08;3&#xff09;独立构件风格 &#xff08;4&#xff09;虚拟机风格 &#xff08;5&#xff09;仓库风格 三、架构…

【数学建模】优劣解距离法Topsis模型(含MATLAB代码)

TOPSIS法&#xff0c;全称 Technique for Order Preference by Similarity to an Ideal Solution&#xff0c;是由C.L.Hwang和K.Yoon于1981年首次提出的 。这是一种多目标决策分析中常用的有效方法&#xff0c;也被称作优劣解距离法 。 TOPSIS法的基本原理是通过检测评价对象与…

如何使用PHPStudy+Cloudreve搭建个人云盘并实现无公网IP远程访问——“cpolar内网穿透”

文章目录 1、前言2、本地网站搭建2.1 环境使用2.2 支持组件选择2.3 网页安装2.4 测试和使用2.5 问题解决 3、本地网页发布3.1 cpolar云端设置3.2 cpolar本地设置 4、公网访问测试5、结语 1、前言 自云存储概念兴起已经有段时间了&#xff0c;各互联网大厂也纷纷加入战局&#…

uniapp中scroll-view初始化的时候 无法横向滚动到某个为止

项目需求 实现日历&#xff08;13天&#xff09;默认高亮第六天 并定位到第六 左边右边各六天&#xff08;可以滑动&#xff09; 直接上代码 <template><scroll-view class"scroll-X":show-scrollbar"true" :scroll-x"scrollable":…

Chrome 侧边栏开发示例

前言 最近做项目&#xff0c;需要开发浏览器扩展&#xff0c;但是考虑页面布局兼容性问题&#xff0c;使用了Chrome114开始的侧边栏&#xff0c;浏览器自带的能力毕竟不会出现兼容性问题&#xff0c;不过Chrome123开始&#xff0c;侧边栏居然又可以选择固定右侧扩展栏了&#…

C++的初步知识——命名空间,缺省参数,重载函数

C 首先写一段代码&#xff1a; #include <stdio.h>int main() {printf("Hello world\n");return 0; }这段C语言代码在cpp文件中仍可运行。我们了解C是兼容C语言的&#xff0c;C的关键字中就包含了C语言的关键字和自身的关键字。关于关键字&#xff0c;我们简…

LCR 039

. - 力扣&#xff08;LeetCode&#xff09;. - 备战技术面试&#xff1f;力扣提供海量技术面试资源&#xff0c;帮助你高效提升编程技能,轻松拿下世界 IT 名企 Dream Offer。https://leetcode.cn/problems/0ynMMM/ 给定非负整数数组 heights &#xff0c;数组中的数字用来表示…

共享内存和信号灯集练习

#include <mystdio.h> int main(int argc, const char *argv[]) { //创建key值 key_t key ftok("/home/ubuntu",2); if(key<0) { perror("ftok"); return -1; } printf("key%#x\n",key); …

上位机图像处理和嵌入式模块部署(树莓派4b和类muduo网络编程)

【 声明&#xff1a;版权所有&#xff0c;欢迎转载&#xff0c;请勿用于商业用途。 联系信箱&#xff1a;feixiaoxing 163.com】 既然是linux编程&#xff0c;那么自然少不了网络编程。在linux平台上面&#xff0c;有很多的网络编程库可以选择&#xff0c;大的有boost、qt&…

【Linux】系统安全及应用

目录 一、账号安全基本措施 1.系统账号清理 2.密码安全控制 3.历史命令安全管理 4.限制su切换用户 1&#xff09;将信任的用户加入到wheel组中 2&#xff09;修改su的PAM认证配置文件 5.ssh远程登录输入三次密码错误则锁定用户 二、Linux中的PAM安全认证 1.su命令的…

革命性创新,实景AI无人自动直播系统,轻松实现24小时日不落直播卖券。

革命性创新&#xff01;实景AI无人自动直播系统&#xff0c;轻松实现24小时日不落直播卖券&#xff01; 最近&#xff0c;越来越多的朋友纷纷关注到了AI自动直播带货的新玩法&#xff0c;并且也都想要开设自己的自动直播间。然而&#xff0c;对于这种自动讲解、自动回复的直播…

【Qt 学习笔记】Qt常用控件 | 显示类控件Label的使用及说明

博客主页&#xff1a;Duck Bro 博客主页系列专栏&#xff1a;Qt 专栏关注博主&#xff0c;后期持续更新系列文章如果有错误感谢请大家批评指出&#xff0c;及时修改感谢大家点赞&#x1f44d;收藏⭐评论✍ Qt常用控件 | 显示类控件Label的使用及说明 文章编号&#xff1a;Qt 学…

C语言枚举类型详解

下午好诶&#xff0c;今天小眼神给大家带来一篇C语言枚举类型详解的文章~ 目录 一、枚举类型的声明 二、枚举类型的优点 三、枚举类型的使用 一、枚举类型的声明 枚举顾名思义就是 一 一 列 举 。 比如&#xff1a; 一周从周一到周日共有七天&#xff0c;可以一一列举。 性…

Next.js多页布局getLayout使用方法

目录 官网解释 直接上代码使用方法展示 1.page页面​编辑 2._app.js页面,也放在pages中​编辑 效果展示 有getLayout展示getLayout返回的页面布局 无getLayout展示默认布局 官网解释 如果需要多个布局&#xff0c;可以添加一个属性getLayout添加到您的页面&#xff0c;允…