输入一个日期,输出它是一年中的第几天,注意:2015 2 29 主要月份天会发生错误
#include <stdio.h>
int main ()
{
int year,month,day,a,b;
int i;
i=0;
scanf("%d %d %d",&year,&month,&day);
if (((year%4==0)&&(year%100!=0))||((year%4==0)&&(year%400==0)))
a=29,b=0;
else
a=28,b=1;
if(b==1&&day>28)
printf("data error!\n");
else if(day>0&&day<32)
{
switch (month)
{
case 12:i=i+30;
case 11:i=i+31;
case 10:i=i+30;
case 9:i=i+31;
case 8:i=i+31;
case 7:i=i+30;
case 6:i=i+31;
case 5:i=i+30;
case 4:i=i+31;
case 3:i=i+a;
case 2:i=i+31;
case 1:break;
default:
printf("data error!\n");break;
}
printf("%d\n",i+day);
}
else
printf("data error!\n");
return 0;
}
#include <stdio.h>
int main ()
{
int year,month,day,a,b;
int i;
i=0;
scanf("%d %d %d",&year,&month,&day);
if (((year%4==0)&&(year%100!=0))||((year%4==0)&&(year%400==0)))
a=29,b=0;
else
a=28,b=1;
if(b==1&&day>28)
printf("data error!\n");
else if(day>0&&day<32)
{
switch (month)
{
case 12:i=i+30;
case 11:i=i+31;
case 10:i=i+30;
case 9:i=i+31;
case 8:i=i+31;
case 7:i=i+30;
case 6:i=i+31;
case 5:i=i+30;
case 4:i=i+31;
case 3:i=i+a;
case 2:i=i+31;
case 1:break;
default:
printf("data error!\n");break;
}
printf("%d\n",i+day);
}
else
printf("data error!\n");
return 0;
}