0
点赞
收藏
分享

微信扫一扫

输入某年,月,日,判断其在一年中是第几天.

非凡兔 2022-06-14 阅读 50

输入某年,月,日,判断其在一年中是第几天._#include

#include <stdio.h>
int main(){
int year ,month,day;
int theday = 0;
int legality = 1;
scanf("%d%d%d",&year,&month,&day);
if ((year%4==0&&year%100!=0)||year%400==0)
switch (month)
{
case 1:
if(day >= 0 && day <=31) theday += 0 ;
else legality = 0;
break;
case 2:
if(day >= 0 && day <=29) theday += 31 ;
else legality = 0;
break;

case 3:
if(day >= 0 && day <=31) theday += 60 ;
else legality = 0;
break;
case 4:
if(day >= 0 && day <=30) theday += 91 ;
else legality = 0;
break;
case 5:
if(day >= 0 && day <=31) theday +=121 ;
else legality = 0;
break;
case 6:
if(day >= 0 && day <=30) theday +=152 ;
else legality = 0;
break;
case 7:
if(day >= 0 && day <=31) theday += 182;
else legality = 0;
break;
case 8:
if(day >= 0 && day <=31) theday += 213 ;
else legality = 0;
break;
case 9:
if(day >= 0 && day <=30) theday += 244 ;
else legality = 0;
break;
case 10:
if(day >= 0 && day <=31) theday += 274 ;
else legality = 0;
break;
case 11:
if(day >= 0 && day <=30) theday += 305;
else legality = 0;
break;
case 12:
if(day >= 0 && day <=31) theday +=335 ;
else legality = 0;
break;
default:
legality = 0;
break;
}

else if(!((year%4==0&&year%100!=0)||year%400==0))
switch (month)
{
case 1:
if(day >= 0 && day <=31) theday += 0 ;
else legality = 0;
break;
case 2:
if(day >= 0 && day <=28) theday +=31;
else legality = 0;
break;

case 3:
if(day >= 0 && day <=31) theday += 59;
else legality = 0;
break;
case 4:
if(day >= 0 && day <=30) theday +=90 ;
else legality = 0;
break;
case 5:
if(day >= 0 && day <=31) theday +=120 ;
else legality = 0;
break;
case 6:
if(day >= 0 && day <=30) theday += 151 ;
else legality = 0;
break;
case 7:
if(day >= 0 && day <=31) theday +=181 ;
else legality = 0;
break;
case 8:
if(day >= 0 && day <=31) theday += 212 ;
else legality = 0;
break;
case 9:
if(day >= 0 && day <=30) theday +=243 ;
else legality = 0;
break;
case 10:
if(day >= 0 && day <=31) theday +=273 ;
else legality = 0;
break;
case 11:
if(day >= 0 && day <=30) theday +=304 ;
else legality = 0;
break;
case 12:
if(day >= 0 && day <=31) theday +=334 ;
else legality = 0;
break;
default:
legality = 0;
break;
}

if (legality == 0) printf("date error!");
else
{
theday += day;
printf("%d",theday);
}



return 0;
}


举报

相关推荐

0 条评论