日期相关的题目

news2024/9/20 3:25:03

日期相关的题目

  • 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;
}

在这里插入图片描述

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

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

相关文章

【JavaEE初阶】网络原理|认识协议|协议分层|TCP/IP模型|封装和分用

一、认识协议 1.概念 简单来说&#xff1a;就是一种通信双方&#xff0c;对于通信规则的约定&#xff08;标准&#xff09;&#xff0c;一定是通信双方都认可的 但是这个协议不一定是认可面非常广的&#xff0c;即使是两个人之间的也可叫做协议 就好⽐⻅⽹友&#xff0c;彼此…

Vuex 的原理

Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式。每一个 Vuex 应用的核心就是 store&#xff08;仓库&#xff09;。“store” 基本上就是一个容器&#xff0c;它包含着你的应用中大部分的状态 ( state )。 Vuex 的状态存储是响应式的。当 Vue 组件从 store 中读取状态的…

ansible执行mysql脚本

目录 概述实践环境要求ansible yml脚本命令离线包 概述 ansible执行mysql脚本 实践 官网文档 环境要求 环境需要安装以下内容: 1.mysql客户端(安装了mysql即会有)2.安装MySQL-python (Python 2.X) 详细插件安装链接 ansible yml脚本 关键代码如下&#xff1a; # 剧本…

Pytorch学习路程 2:神经网络分类与实战

目录 神经网络分类 下载数据集 加载数据集 定义损失函数 创建模型 使用DataSet和DataLoader化简我们的数据封装 使用Pytorch神经网络进行气温预测 使用到的包&#xff1a; 构建网络模型 Reference 神经网络分类 我们以最为经典的MNIST数据集为例子&#xff0c;识别手…

GO环境及入门案例

文章目录 简介一、win GO开发环境安装二、Linux go运行环境二、GO代码入门2.1 导包案例2.2 赋值2.3 变量、函数2.4 三方库使用 简介 go不是面向对象语言&#xff0c; 其指针、结构体等比较像C&#xff0c;知名的go 开源项目有docker k8s prometheus node-exporter等 一、win …

FPGA - ZYNQ Cache一致性问题

什么是Cache&#xff1f; Cache是一种用来提高计算机运行速度的一种技术。它是一种小而快的存储设备&#xff0c;位于CPU与内存之间&#xff0c;用于平衡高速设备与低速设备之间的速度差异。Cache可以存储常用的数据或指令&#xff0c;以便CPU更快地获取&#xff0c;从而减少对…

2023年美国西岸行 - Day 1

本来旅行回来就像记录的&#xff0c;结果一拖就是快1年。当然中间原先记录的博客平台关闭也有部分原因&#xff0c;但不是主要原因。趁着今天复活20年前的CSDN博客&#xff0c;赶紧记录一下。 疫情之后第一次全家长途旅行。这次美国之行&#xff0c;在3-4月份订机票的时候跟临…

今日刷三题(day4):简写单词+dd爱框框+除2!

题目一&#xff1a;简写单词 题目描述&#xff1a; 比如 “College English Test”可以简写成“CET”&#xff0c;“Computer Science”可以简写为“CS”&#xff0c;“I am Bob”简写为“IAB” 输入输出描述&#xff1a; 输入&#xff1a;一个复合单词 输出&#xff1a;输…

一文读懂自动化运维工具ansible及其使用

1. ansible简介 ansible是干什么的 ansible是目前最受运维欢迎的自动化运维工具&#xff0c;基于Python开发&#xff0c;集合了众多运维工具&#xff08;SaltStack puppet、chef、func、fabric&#xff09;的优点&#xff0c;实现了批量系统配置、批量程序部署、批量运行命令…

java高校办公室行政事务管理系统设计与实现(springboot+mysql源码+文档)

风定落花生&#xff0c;歌声逐流水&#xff0c;大家好我是风歌&#xff0c;混迹在java圈的辛苦码农。今天要和大家聊的是一款基于springboot的闲一品交易平台。项目源码以及部署相关请联系风歌&#xff0c;文末附上联系信息 。 项目简介&#xff1a; 基于mvc的高校办公室行政…

基于SpringBoot + Vue实现的奖学金管理系统设计与实现+毕业论文+答辩PPT

介绍 角色:管理员、学院负责人、学校负责人、学生 管理员:管理员登录进入高校奖助学金系统的实现可以查看系统首页、个人中心、学生管理、学院负责人管理、学校负责人管理、奖学金类型管理、奖学金申请管理、申请提交管理、系统管理等信息 学院负责人:学院负责人登录系统后&am…

排序 “叁” 之交换排序

目录 1. 基本思想 2.冒泡排序 2.1 基本思想 2.2 代码示例 2.3 冒泡排序的特性总结 3.快速排序 3.1 基本思想 &#x1f335;hoare版本 &#x1f335;挖坑法 ​编辑 &#x1f335;前后指针版本 ​编辑 3.2 快速排序优化 &#x1f33b;三数取中法选key 3.4 快速排序…

systemverilog中位的选择

常用的变量类型就是 reg 和 wire &#xff0c;这两种类型可以定义 一位的变量&#xff0c;也可以定义多位&#xff0c;其中 1 bit 的变量称为 标量(scalar)&#xff0c;多 bit 的变量称为 向量(vector)&#xff0c;如下所示&#xff1a; wire o_nor; // singl…

【JavaWeb】Day51.Mybatis动态SQL

什么是动态SQL 在页面原型中&#xff0c;列表上方的条件是动态的&#xff0c;是可以不传递的&#xff0c;也可以只传递其中的1个或者2个或者全部。 而在我们刚才编写的SQL语句中&#xff0c;我们会看到&#xff0c;我们将三个条件直接写死了。 如果页面只传递了参数姓名name 字…

Web前端框架/库/工具

前言 前端从步枪&#xff08;原生js&#xff09;到了半自动武器&#xff08;jQuery&#xff09;并进化为全自动武器&#xff08;三大框架&#xff08;angular&#xff0c;react&#xff0c;vue及其生态链&#xff09;&#xff09;。 常说工欲善其事必先利其器。对于那些想要提…

网络原理-IP协议

一、IP协议报头 版本号:用来表示IP协议的版本,现在常用的IP协议有两个版本,IPv4和IPv6&#xff0c;其他版本可能只存在于实验室中&#xff0c;并没有被广泛的使用。 首部长度:用来表示IP报头的长度,因为存在"选项"字段&#xff0c;所以IP报头是可变长的,此处单位为4…

B树和B+树试题解析

一、单项选择题 01&#xff0e;下图所示是一棵&#xff08;A ). A.4阶B树 B.3阶B树 C.4阶B树 D.无法确定 02.下列关于m阶B树的说法中&#xff0c;错误的是( C ). A.根结点至多有m棵子树 B.所有叶结点都在同一层次上 C.非叶结点至…

【MySQL】查询(进阶)

文章目录 前言1、新增2、聚合查询2.1聚合函数2.1.1count2.1.2sum2.1.3avg2.1.4max和min 2.2、GROUP BY子句2.3HAVING 3、联合查询/多表查询3.1内连接和外连接3.2自连接3.3子查询3.4合并查询 前言 在前面的内容中我们已经把查询的基本操作介绍的差不多了&#xff0c;接下来我们…

基于SpringBoot + Vue实现的学生心理咨询评估管理系统设计与实现+毕业论文+开题报告+答辩PPT

介绍 系统有管理员和用户。 管理员可以管理个人中心&#xff0c;用户管理&#xff0c;试题管理&#xff0c;试卷管理&#xff0c;考试管理等。用户参加考试。 学生心理咨询评估系统的登录流程&#xff0c;针对的角色就是操作员的操作角色。在登录界面需要的必填信息就是账号信…

创新案例|Amazon.com 2023 年营销策略:电子商务零售巨头商业案例研究

2022 年最后一个季度&#xff0c;亚马逊报告净销售额超过 1,492 亿美元。这种季节性峰值是亚马逊季度报告的典型特征&#xff0c;但增长是不可否认的&#xff0c;因为这是该公司有史以来最高的季度。毫无疑问&#xff0c;这家电商零售巨头继续引领电商增长。本文将介绍我们今天…