本题要求编写程序计算某年某月某日是该年中的第几天。
输入格式:
输入在一行中按照格式“yyyy/mm/dd”(即“年/月/日”)给出日期。注意:闰年的判别条件是该年年份能被4整除但不能被100整除、或者能被400整除。闰年的2月有29天。
输出格式:
在一行输出日期是该年中的第几天。
输入样例1:
2009/03/02
输出样例1:
61
输入样例2:
2000/03/02
输出样例2:
62
题目集全集传送门
#include <stdio.h>
int main()
{
int year, month, days;
scanf("%d/%d/%d", &year, &month, &days);
for (int i = 1; i <= month - 1; i++) //利用循环,每次遍历一个月份,就加上该月份的天数
{
switch (i)
{
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:days += 31;
break;
case 2:days += 28;
break;
case 4:
case 6:
case 9:
case 11:days += 30;
break;
}
}
if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) //判断是否为闰年
{
if (month > 2) //月份大于2,就加上闰年多出的一天
printf("%d", days+1);
else
printf("%d", days);
}
else
printf("%d", days);
return 0;
}