今日笔记
作业2
终端输入一个日期,判断是这一年的第几天
scanf("%d-%d-%d",&y,&m,&d);
闰年2月29天,平年2月28天
#include<stdio.h>
int main(int argc, char const *argv[])
{
int y=0,m=0,d=0,n=0,a=31,b=30,c=28,f=29;
printf("请以年-月-日的格式输入日期:\n");
scanf("%d-%d-%d",&y,&m,&d);
if(y/4==0&&y/100!=0||y/400==0)
{
switch (m)
{
case 1:n=d;
break;
case 2:n=a+d;
break;
case 3:n=a+f+d;
break;
case 4:n=2*a+f+d;
break;
case 5:n=2*a+b+f+d;
break;
case 6:n=3*a+b+f+d;
break;
case 7:n=3*a+2*b+f+d;
break;
case 8:n=4*a+2*b+f+d;
break;
case 9:n=5*a+2*b+f+d;
break;
case 10:n=5*a+3*b+f+d;
break;
case 11:n=6*a+3*b+f+d;
break;
default:n=6*a+4*b+f+d;
break;
}
}else
{
switch (m)
{
case 1:n=d;
break;
case 2:n=a+d;
break;
case 3:n=a+c+d;
break;
case 4:n=2*a+c+d;
break;
case 5:n=2*a+b+c+d;
break;
case 6:n=3*a+b+c+d;
break;
case 7:n=3*a+2*b+c+d;
break;
case 8:n=4*a+2*b+c+d;
break;
case 9:n=5*a+2*b+c+d;
break;
case 10:n=5*a+3*b+c+d;
break;
case 11:n=6*a+3*b+c+d;
break;
default:n=6*a+4*b+c+d;
break;
}
}
printf("该日期是当年的第%d天\n",n);
return 0;
}