第九周:C语言:第几天
问题:给定一个日期,输出这个日期是该年的第几天。
代码:
#include <stdio.h>
int main()
{
int y,m,d;
int days;
while (scanf("%d-%d-%d",&y,&m,&d)!=EOF)
{
if(((y%4==0)&&(y%100!=0))||(y%400==0))
{
switch(m)
{
case 1:
days=d;
break;
case 2:
days=d+31;
break;
case 3:
days=d+31+29;
break;
case 4:
days=d+31+29+31;
break;
case 5:
days=d+31+29+31+30;
break;
case 6:
days=d+31+29+31+30+31;
break;
case 7:
days=d+31+29+31+30+31+30;
break;
case 8:
days=d+31+29+31+30+31+30+31;
break;
case 9:
days=d+31+29+31+30+31+30+31+31;
break;
case 10:
days=d+31+29+31+30+31+30+31+31+30;
break;
case 11:
days=d+31+29+31+30+31+30+31+31+30+31;
break;
case 12:
days=d+31+29+31+30+31+30+31+31+30+31+30;
break;
}
}
else
{
switch(m)
{
case 1:
days=d;
break;
case 2:
days=d+31;
break;
case 3:
days=d+31+28;
break;
case 4:
days=d+31+28+31;
break;
case 5:
days=d+31+28+31+30;
break;
case 6:
days=d+31+28+31+30+31;
break;
case 7:
days=d+31+28+31+30+31+30;
break;
case 8:
days=d+31+28+31+30+31+30+31;
break;
case 9:
days=d+31+28+31+30+31+30+31+31;
break;
case 10:
days=d+31+28+31+30+31+30+31+31+30;
break;
case 11:
days=d+31+28+31+30+31+30+31+31+30+31;
break;
case 12:
days=d+31+28+31+30+31+30+31+31+30+31+30;
break;
}
}
printf("%d\n",days);
}
return 0;
}
运行截图:
还没有评论,来说两句吧...