题目描述
输入年、月、日,计算该天是本年的第几天。
输入描述:
包括三个整数年(1<=Y<=3000)、月(1<=M<=12)、日(1<=D<=31)。
输出描述:
输入可能有多组测试数据,对于每一组测试数据,
输出一个整数,代表Input中的年、月、日对应本年的第几天。
#include<stdio.h>
#pragma warning(disable:4996)
int count(int year,int mon,int day)
{
int sum = 0;
int run = 0;
int month[12] = { 31,28,31,30,31,30,31,31,30,31,30,31 };//1、3、5、7、8、10、12.
if (year % 4 == 0)
{
if (year % 400 == 0)
run = 1;
else if (year % 100 != 0)
run = 1;
}
if (mon > 2 || (mon == 2 && day == 29))
{
sum = sum + run;
}
for (int i = 0; i < mon-1; i++)
sum = sum + month[i];
sum = sum + day;
return sum;
}
int main()
{
int year,mon, day;
while (scanf("%d %d %d", &year, &mon, &day) != EOF)
{
printf("%d\n", count(year,mon,day));
}
return 0;
}