CCF201509-2 日期计算
<table align="center" cellpadding="0" cellspacing="1"><tbody><tr><td>试题编号:</td><td>201509-2</td></tr><tr><td>试题名称:</td><td>日期计算</td></tr><tr><td>时间限制:</td><td>1.0s</td></tr><tr><td>内存限制:</td><td>256.0MB</td></tr><tr><td>问题描述:</td><td><p>问题描述</p><p> 给定一个年份<em>y</em>和一个整数<em>d</em>,问这一年的第<em>d</em>天是几月几日?<br> 注意闰年的 2 月有 29 天。满足下面条件之一的是闰年:<br> 1) 年份是 4 的整数倍,而且不是 100 的整数倍;<br> 2) 年份是 400 的整数倍。</p><p>输入格式</p><p> 输入的第一行包含一个整数<em>y</em>,表示年份,年份在 1900 到 2015 之间(包含 1900 和 2015)。<br> 输入的第二行包含一个整数<em>d</em>,<em>d</em>在 1 至 365 之间。</p><p>输出格式</p><p> 输出两行,每行一个整数,分别表示答案的月份和日期。</p><p>样例输入</p><p>2015<br>80</p><p>样例输出</p><p>3<br>21</p><p>样例输入</p><p>2000<br>40</p><p>样例输出</p><p>2<br>9</p></td></tr></tbody></table>
解题思路:
=====
bool judge()判断是否是闰年
m[13]来保存每个月的天数
用一个变量 cnt 来计数当前经过的天数,
在 for 循环里判断,分三种情况
case1:加上当前月数会超过 d,那么月份就是当前月份 i,天数就是当前剩下的(d - cnt)
case2:加上当前月数等于 d,那么月份就算当前月份,天数就是当前月份最后的日期天数
case3:不满足上述两种情况就累计天数,cnt += m[i]
解题代码:
========
#include<stdi 《一线大厂 Java 面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义》无偿开源 威信搜索公众号【编程进阶路】 o.h>
#include<iostream>
using namespace std;
评论