#include"stdio.h"
int main()
{
int year,mon,day,sum,a;
scanf("%d-%d-%d",&year,&mon,&day);
if((mon>12)||((mon==1||3||5||7||8||10||12)&&(day>31||day<1))||((mon==4||6||9||11)&&(day<0||day>30))||((year%4==0)&&(day>29||day<1))||((year%4==0)&&(day>28||day<1)))//判定范围
{//月份超过12 1,3,5,7,8,10,12月日期不在1-31 4,6,9,11月日期不在1-30 闰年2月日期不在1-29 平年2月日期不在1-28
printf("日期输入有误\n");
return 1;
}
else if(year%4==0&&year%100!=0)
{
switch(1)
{
case 1:sum=0;if(mon==1)break;
case 2:sum+=31;if(mon==2)break;
case 3:sum+=29;if(mon==3)break;
case 4:sum+=31;if(mon==4)break;
case 5:sum+=30;if(mon==5)break;
case 6:sum+=31;if(mon==6)break;
case 7:sum+=30;if(mon==7)break;
case 8:sum+=31;if(mon==8)break;
case 9:sum+=31;if(mon==9)break;
case 10:sum+=30;if(mon==10)break;
case 11:sum+=31;if(mon==11)break;
case 12:sum+=30;if(mon==12)break;
}
sum=sum+day;
printf("%d月%d日是%d年的第%d天\n",mon,day,year,sum);
}
else
{
switch(1)
{
case 1:sum=0;if(mon==1)break;
case 2:sum+=31;if(mon==2)break;
case 3:sum+=28;if(mon==3)break;
case 4:sum+=31;if(mon==4)break;
case 5:sum+=30;if(mon==5)break;
case 6:sum+=31;if(mon==6)break;
case 7:sum+=30;if(mon==7)break;
case 8:sum+=31;if(mon==8)break;
case 9:sum+=31;if(mon==9)break;
case 10:sum+=30;if(mon==10)break;
case 11:sum+=31;if(mon==11)break;
case 12:sum+=30;if(mon==12)break;
}
sum=sum+day;
printf("%d月%d日是%d年的第%d天\n",mon,day,year,sum);
}
return 0;
}
从终端输入一个日期 scanf (“% d-% d-% d “; &year , &mon , &day ),判断这是这一年的第几天
于 2023-02-03 20:04:34 首次发布