概述
输入年、月、日,计算该天是本年的第几天。
注意闰年的 2 2 2 月有 29 29 29 天。
满足下面条件之一的是闰年:
年份是
4
4
4 的整数倍,而且不是
100
100
100 的整数倍;
年份是
400
400
400 的整数倍。
输入格式
输入包含多组测试数据。
每组数据占一行,包含三个整数 Y , M , D Y,M,D Y,M,D,表示年、月、日。
输出格式
每组数据输出一个整数,占一行,表示输入给定的年、月、日对应本年的第几天。
数据范围
1
≤
Y
≤
3000
,
1≤Y≤3000,
1≤Y≤3000,
1
≤
M
≤
12
,
1≤M≤12,
1≤M≤12,
1
≤
D
≤
31
,
1≤D≤31,
1≤D≤31,
输入最多包含
100
100
100 组测试数据。
保证所有日期都是合法的。
输入样例:
1990 9 20
2000 5 1
输出样例:
263
122
#include<iostream>
using namespace std;
int days[] = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
int main(){
int y, m, d;
while(cin >> y >> m >> d){
int res = 0;
for(int i = 1; i < m; i++){
res += days[i];
if(i == 2 && (y % 400 == 0 || y % 4 == 0 && y % 100 != 0)) res++;
}
res += d;
cout << res << endl;
}
return 0;
}
最后
以上就是威武大神为你收集整理的今年的第几天?(暑假每日一题 42)的全部内容,希望文章能够帮你解决今年的第几天?(暑假每日一题 42)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复