当前位置: 首页 > article >正文

【C++题目】1.日期差值

日期差值

题目:

链接🔗:日期差值

872daf967016e6d160eb10e39de1731d

代码:

#include <iostream>
using namespace std;
/*
*思路:
* 1. 分别求出每一个日期与0000年0月1日距离的天数
* 2. 两个距离天数相减即可得到两个日期相差的天数
*/

//平年从1月到n月的天数
int mon[12] = { 0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334 };

//给出年月日,计算距离0000年0月1日的天数和
int CountDay(int y, int m, int d) {
    // 计算0-y年的天数
    int yearDay = y * 365 + y / 4 - y / 100 + y / 400;

    // 计算到0-m月的天数
    int monthDay = mon[m - 1];
    if (m > 2 && ((y % 4 == 0 && y % 100 != 0) || y % 400 == 0)) {
        monthDay += 1;
    }
    return yearDay + monthDay + d;
}

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

    int n1 = CountDay(year1, month1, day1);
    int year2, month2, day2;
    scanf("%4d%2d%2d", &year2, &month2, &day2);

    int n2 = CountDay(year2, month2, day2);
    cout << abs(n1 - n2) + 1 << endl;

}

http://www.kler.cn/news/307420.html

相关文章:

  • MySQL篇(运算符)(持续更新迭代)
  • bat批量修改文件名
  • c++ templates常用函数
  • 完美的宝塔面板防御策略,基于 fail2ban
  • 探索人工智能的未来趋势
  • Docker基本概念详解及优势分析
  • Linux 文件 IO 管理(第一讲)
  • 探索GPU算力在大模型和高性能计算中的无限潜能
  • 排序算法-交换排序
  • MyBatis 增删改查【后端 17】
  • Oracle数据库中的Oracle Label Security是什么
  • 默认端口被占用后,如何修改Apache2 端口
  • ThinkPHP Email功能如何配置才能发送邮件?
  • 获取Live2d模型
  • 人工智能开发实战matplotlib库应用基础
  • 集成测试例题
  • NISP 一级 | 5.5 账户口令安全
  • Qt 实战(10)模型视图 | 10.4、模型角色
  • 第十一章 【后端】商品分类管理微服务(11.2)——Lombok
  • 『功能项目』切换职业技能面板【49】
  • 【系统架构设计】基于中间件的开发
  • “Fast-forward“ in git-pull result
  • AI助力遥感影像智能分析计算,基于高精度YOLOv5全系列参数【n/s/m/l/x】模型开发构建卫星遥感拍摄场景下地面建筑物智能化分割检测识别系统
  • go语言的基本语法
  • 【Kubernetes】常见面试题汇总(十九)
  • 消失的数字:
  • Android 应用安装-提交阶段
  • HC-SR04超声波传感器详解(STM32)
  • 【Mysql】记录sql在执行过程中很慢
  • 定点数例题——定点数范围推导