描述
输入年、月、日,计算该天是本年的第几天。
输入描述:
包括三个整数年(1<=Y<=3000)、月(1<=M<=12)、日(1<=D<=31)。
输出描述:
输入可能有多组测试数据,对于每一组测试数据, 输出一个整数,代表Input中的年、月、日对应本年的第几天。
#include <stdio.h>
int main() {
int y, m, d;
int result = 0;
int days[2][13] = {{0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31},
{0, 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}
};
while (scanf("%d %d %d", &y, &m, &d) != EOF) {
}
if ((y % 4 == 0 && y % 100 != 0) || y % 400 == 0)
{//闰年二月多一天
for(int i = 1;i < m;i++)
result += days[1][i];
}
else {
{
for(int i = 1;i < m;i++)
result += days[0][i];
}
}
printf("%d",result+d);
return 0;
}
掌握闰年的计算方法
1、普通闰年:能被4整除但不能被100整除
2、世纪闰年:能被400整除