题目内容:
本题要求编写程序计算某年某月某日是该年中的第几天。
输入格式:
输入在一行中按照格式“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,day;
int num;
int Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov;
scanf("%d/%d/%d",&year,&month,&day);
Jan=31;
if ((year%4==0&&year%100!=0)||year%400==0)
{
Feb=29+Jan;
}
else
{
Feb=28+Jan;
}
Mar=31+Feb;
Apr=30+Mar;
May=31+Apr;
Jun=30+May;
Jul=31+Jun;
Aug=31+Jul;
Sep=30+Aug;
Oct=31+Sep;
Nov=30+Oct;
switch(month)
{
case 1:num=day;break;
case 2:num=Jan+day;break;
case 3:num=Feb+day;break;
case 4:num=Mar+day;break;
case 5:num=Apr+day;break;
case 6:num=May+day;break;
case 7:num=Jun+day;break;
case 8:num=Jul+day;break;
case 9:num=Aug+day;break;
case 10:num=Sep+day;break;
case 11:num=Oct+day;break;
case 12:num=Nov+day;break;
}
printf("%d\n", num);
return 0;
}