问题描述 :
按年、月、日的顺序读入一个日期,输出该日期是这一年中的第几天。
输入说明 :
输入数据为三个正整数y 、m、d,分别表示年、月、日,整数之间以空格分隔,在行首和行尾没有多余的空格。
输出说明 :
输出一个整数,表示输入的日期是这一年中的第几天,在行首和行尾没有多余的空格。
输入范例 :
2000 2 14
45
#include <stdio.h>
#include <stdlib.h>
int main()
{ int y,m,d,leap;
scanf("%d %d %d",&y,&m,&d);
int sum=0;
if(y%4==0&&y%100!=0||y%400==0){
leap=1;
}else leap=0;
switch(m){
case 1:sum=d;break;
case 2:sum=31+d;break;
case 3:sum=31+28+d+leap;break;
case 4:sum=31+28+31+d+leap;break;
case 5:sum=31+28+31+30+d+leap;break;
case 6:sum=31+28+31+30+31+d+leap;break;
case 7:sum=31+28+31+30+31+30+d+leap;break;
case 8:sum=31+28+31+30+31+30+31+d+leap;break;
case 9:sum=31+28+31+30+31+30+31+31+d+leap;break;
case 10:sum=31+28+31+30+31+30+31+31+30+d+leap;break;
case 11:sum=31+28+31+30+31+30+31+31+30+31+d+leap;break;
case 12:sum=31+28+31+30+31+30+31+31+30+31+30+d+leap;break;
}
printf("%d",sum);
return 0;
}