请你计算出 xx 年 yy 月 zz 日是 xx 年的第几天。
请注意闰年对答案的影响。
输入格式
一行三个整数,x,y 和 z。(1583≤x≤2100)。数据保证输入合法。
输出格式
一个整数,表示是第几天。
Sample Input
2016 3 1
Sample Output
61
Sample Input 2
1900 3 1
Sample Output 2
60
#include <stdio.h>
int main()
{
int year, month, day, leap, sum;
scanf("%d %d %d", &year, &month, &day);
switch (month)
{
case 1:sum = 0;break;
case 2:sum = 31;break;
case 3:sum = 59;break;/*一月31天加平年28天等于59天*/
case 4:sum = 90;break;
case 5:sum = 120;break;
case 6:sum = 151;break;
case 7:sum = 181;break;
case 8:sum = 212;break;
case 9:sum = 243;break;
case 10:sum = 273;break;
case 11:sum = 304;break;
case 12:sum = 331;break;
default:printf("error
");
}
sum = sum + day;
if (year%400 == 0 || year%4 == 0 && year%100 != 0)/*判断闰年*/
leap = 1;
else
leap = 0;
if(leap == 1 && month>2)/*当是闰年,月份大于二时,才需要加一,为一月时,不需要加一*/
sum = sum++;
printf("%d",sum);
return 0;
}