链接:
https://www.nowcoder.com/questionTerminal/ae7e58fe24b14d1386e13e7d70eaf04d
来源:牛客网
来源:牛客网
[编程题]今年的第几天?
- 热度指数:3945时间限制:1秒空间限制:65536K
- 算法知识视频讲解
输入年、月、日,计算该天是本年的第几天。
输入描述:
包括三个整数年(1<=Y<=3000)、月(1<=M<=12)、日(1<=D<=31)。
输出描述:
输入可能有多组测试数据,对于每一组测试数据, 输出一个整数,代表Input中的年、月、日对应本年的第几天。
示例1
输入
1990 9 20 2000 5 1
输出
263 122
这题要注意的地方就是判断是否闰年,其他没什么难度
import java.util.*;
public class Main {
public static boolean isLeapYear(int y) {
if ((y % 4 == 0 && y % 100 != 0) || y % 400 == 0)
return true;
return false;
}
public static void main(String[] args) {
Scanner reader = new Scanner(System.in);
int[] days = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31,30, 31};
while (reader.hasNext()) {
int year = reader.nextInt();
int month = reader.nextInt();
int day = reader.nextInt();
if (isLeapYear(year))
days[1] = 29;
int sum = 0;
for (int i = 0; i < month-1; ++i) {
sum += days[i];
}
sum += day;
System.out.println(sum);
}
}
}