CCF 日期计算(Java)
2017-08-31 13:02
337 查看
试题编号: 201509-2
试题名称: 日期计算
时间限制: 1.0s
内存限制: 256.0MB
问题描述:
给定一个年份y和一个整数d,问这一年的第d天是几月几日?
注意闰年的2月有29天。满足下面条件之一的是闰年:
1) 年份是4的整数倍,而且不是100的整数倍;
2) 年份是400的整数倍。
输入格式
输入的第一行包含一个整数y,表示年份,年份在1900到2015之间(包含1900和2015)。
输入的第二行包含一个整数d,d在1至365之间。
输出格式
输出两行,每行一个整数,分别表示答案的月份和日期。
样例输入
2015
80
样例输出
3
21
样例输入
2000
40
样例输出
2
9
试题名称: 日期计算
时间限制: 1.0s
内存限制: 256.0MB
问题描述:
给定一个年份y和一个整数d,问这一年的第d天是几月几日?
注意闰年的2月有29天。满足下面条件之一的是闰年:
1) 年份是4的整数倍,而且不是100的整数倍;
2) 年份是400的整数倍。
输入格式
输入的第一行包含一个整数y,表示年份,年份在1900到2015之间(包含1900和2015)。
输入的第二行包含一个整数d,d在1至365之间。
输出格式
输出两行,每行一个整数,分别表示答案的月份和日期。
样例输入
2015
80
样例输出
3
21
样例输入
2000
40
样例输出
2
9
import java.util.Scanner; public class T201509_2 { static int y; static int d; static int m = 1; // 从1月开始 public static void main(String[] args) { Scanner sc = new Scanner(System.in); y = sc.nextInt(); d = sc.nextInt(); sc.close(); boolean rn = false; // 闰年 if((y%4==0 && y%100!=0) || y%400==0) // 是否闰年 rn = true; while(d > 0){ switch (m) { // 31天的月份 case 1:case 3:case 5:case 7:case 8:case 10:case 12: cal(31); break; // 30天的月份 case 4:case 6:case 9:case 11: cal(30); break; // 2月 case 2: if(rn) cal(29); else cal(28); break; } } } /** * 计算 * @param day 每一月的天数 */ static void cal(int day){ if(d > day){ // 剩余d超过一个月 d -= day; m++; // 月份计数 }else{ // 剩余d就在本月 System.out.println(m); // 月 System.out.println(d); // 日 d = 0; // 退出主函数中的while循环 } } }
相关文章推荐
- CCF计算机软件能力认证试题练习-日期计算(Java参考答案学习记录)
- CCF CSP 201509-2 日期计算(Java-100分)
- CCF日期计算,解题思路,C++,Java
- CCF之日期计算(java)
- java计算两个日期之前的天数实例(排除节假日和周末)
- java计算距当前时间30天前的日期和时间
- java中计算两个日期之间差的天数
- 计算Java日期
- CCF 日期计算
- java如何计算当期日期前几天或后几天日期
- 2015年9月CCF计算机软件能力认证题:日期计算
- 【java基础】随手写的一个日期计算,新手可以看看
- java 日期计算
- java日期计算
- java中,各种日期的转换及计算
- Java函数2:计算两个日期相差的天数
- java 日期加减天数、月数、年数的计算方式
- Java简单计算两个日期月数差的方法
- Java中用Calendar类计算周和周的起始日期
- Java中一些关于日期、日期格式、日期的解析和日期的计算