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

【CCF-CSP】05-02日期计算

题目描述

给定一个年份 y 和一个整数 d,问这一年的第 d 天是几月几日?

注意闰年的 2 月有 29 天。

满足下面条件之一的是闰年:

  1. 年份是 4 的整数倍,而且不是 100 的整数倍;
  2. 年份是 400 的整数倍。

输入格式

输入的第一行包含一个整数 y,表示年份,年份在 1900 到 2015 之间(包含 1900 和 2015)。

输入的第二行包含一个整数 d,d 在 1 至 365 之间。

输出格式

输出两行,每行一个整数,分别表示答案的月份和日期。

数据范围

1900≤y≤2015,
1≤d≤365

输入样例1:

2015
80

输出样例1:

3
21

输入样例2:

2000
40

输出样例2:

2
9

解题思路

1、首先输入年份和天数

2、根据题目提示:可以判断年份是否为闰年

3、定义月份的数组(分为闰年和平年),此题因为天数为总天数,所以月份也计算每个月及这个月之前·的天数

4、计算是几月:如果天数刚好等于这个月的最后一天,即为这个月;如果大于这个月的天数,则为这个月+1;

5、计算日期:直接用天数减去前一个月份数组的天数即可得到。

代码

#include <bits/stdc++.h>
#include <iostream>
#include <algorithm>using namespace std;int main()
{//定义年份y(year)和天数d(day)int y, d;//输入年份和天数 scanf("%d %d", &y, &d);//判断是否为闰年的标志 bool flag; //判断年份是否为闰年if( ((y % 4 == 0) && (y % 100 != 0)) || (y % 400 == 0) ){//是闰年则flag 为 1 flag = 1;}else{flag = 0;}//定义闰年的每月月份及加上次月份之前天数 int month_r[13] = {0, 31, 60, 91, 121, 152, 182, 213, 244, 274, 305, 335, 366};//定义平年的每月月份及加上次月份之前天数 int month_p[13] = {0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334, 365};//定义月份、日期int month = 0, date = 0; //如果是闰年,计算月份 if(flag == 1){for(int i = 0; i < 13; i ++){if(d > month_r[i]){month = i+1;}else if(d == month_r[i]){month = i;}}}//平年,计算月份 else{for(int i = 0; i < 13; i ++){if(d > month_p[i]){month = i+1;}else if(d == month_p[i]){month = i;}}} //计算日期//如果是闰年if(flag == 1){date = d - month_r[month-1];}//平年 else{date = d - month_p[month-1];}//输出月份和日期printf("%d\n%d\n", month, date); return 0;
}

恭喜你!又学会了一道CCF-CSP题目。这里是希望你越来越好的小全全!一起努力学习吧!

http://www.dtcms.com/a/601382.html

相关文章:

  • 如何实施网站推广wordpress您的密码重设链接无效
  • GlobalFoundries从台积电获得GaN技术许可
  • ModelEngine 智能体开发实战:2 个月 3 个项目从知识库到多 Agent 协作完整指南
  • TensorFlow深度学习实战(43)——TensorFlow.js
  • 异世界传奇:OSPF王国与链路状态信使协议
  • IB 比 RoCE 更快的底层逻辑-深度拆解
  • LangWBC:基于端到端学习的语言导向型人形机器人全身控制
  • 网站建设 国外无需下载的网站
  • 技术支持 贵阳贵阳网站建设wordpress主题图片
  • 域名注册商怎么查南宁优化网站网络服务
  • 文山城乡建设部网站首页东莞做网站优化
  • CSS 动画与变换属性详解
  • 11.12 LeetCode 题目汇总与解题思路
  • 【代码审计】RuoYi-4.7.34.7.8 定时任务RCE 漏洞分析
  • 数学图论的艺术:解码最小公倍数图中的连通奥秘
  • 如何有效解决Windows 11界面卡顿问题,提升操作流畅度
  • 网站开发iso9001有哪些网页游戏网站
  • nginx安装配置、故障处置、性能优化
  • 网上商城互联网网站开发网站建设流程效果
  • 商品案例-组件封装(vue)
  • 新视角看 js 的数据类型
  • PySide6 + QML - QSerialPort01 - 扫描操作系统上有效的串口
  • 【前端面试】HTML篇
  • Next.js第四章(路由导航)
  • 从jsp打开一个html,怎么把jsp的某些参数传递给html
  • 谷歌google官方网站网站开发 书籍
  • 北京网站备案公司安徽观元建设有限公司网站
  • 若依plus请求加解密
  • PHP Filter:深入了解其功能与实现
  • Linux基础指令(简易版)