版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:[https://blog.csdn.net/weixin\_42449444/article/details/102078866](https://blog.csdn.net/weixin_42449444/article/details/102078866)
输入年、月、日,计算该天是本年的第几天。
输入可能有多组测试数据,每一组测试数据包括三个整数年(1<=Y<=3000)、月(1<=M<=12)、日(1<=D<=31)。
输出一个整数,代表Input中的年、月、日对应本年的第几天。
1990 9 20
263
2000 5 1
122
快手校招水题。记得CSP认证也有这种日期计算的水题【CCF】日期计算,只不过这题是给出年月日求天数,CSP是给出年和天数求月日。
#include <bits/stdc++.h>
using namespace std;
#define Up(i,a,b) for(int i = a; i <= b; i++)
int main()
{
int a[13] = {0,31,28,31,30,31,30,31,31,30,31,30,31};
int y,m,d;
cin >> y >> m >> d;
int cnt = 0; //本年的第几天
if((y%4==0&&y%100!=0) || y%400==0) //闰年
{
a[2]++; //2月有29天
}
Up(i,1,m-1)
{
cnt += a[i];
}
cnt += d;
cout << cnt << endl;
return 0;
}