#include <stdio.h>
//输入一个日期(年/月/日),算出是该年的第几天
/*定义三个变量,输入年月日
判断是平年还是闰年
计算月份和日的总天数*/
int main(void)
{
int year,month,day;
int i,sum;
int j=0;
int isrun[13]={0,31,29,31,30,31,30,31,31,30,31,30,31};
int isping[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
printf("请输入日期:");
A:scanf("%d %d %d",&year,&month,&day);
if(year%4==0&&year%100!=0||year%400==0)
{
if(day>isrun[month]||day<=0||month<=0||month>12)
{
printf("输入错误,请重新输入:");
goto A;
}
for(i=1;i<month;i++)
{
j+=isrun[i];
}
sum=j+day;
printf("该日是今年的第%d天\n",sum);
}
else
{
if(day>isping[month]||day<=0||month<=0||month>12)
{
printf("输入错误,请重新输入:");
goto A;
}
for(i=1;i<month;i++)
{
j+=isping[i];
}
sum=j+day;
printf("该日是今年的第%d天\n",sum);
}
return 0;
}