//一个人从2000年1月1日开始三天打鱼两天晒网,用户输入一个日期,判断该人这天在打鱼还是晒网
#include
<stdio.h>
void input();
void sum(int y,int m,int d);
int y,m,d;
int main(void)
{
input();
sum(y,m,d);
return 0;
}
void input()
{
int
ret;
while(1)
{
ret=scanf("%d%d%d",&y,&m,&d);
if(m>=1
&& m<=12)
{
if(m==1 || m==3 || m==5 || m==7 || m==8 ||
m==10 ||m==12)
{
if(ret==3 && y>=2000 && d>=0
&& d<=31 &&
getchar()==‘\n‘)
{
break;
}
}
else if(m==4 || m==6 || m==9 || m==11)
{
if(ret==3 &&
y>=2000 && d>=0 && d<=30 &&
getchar()==‘\n‘)
{
break;
}
}
else if( (y%4==0 && y%100!=0)||(y%400==0) &&
m==2)
{
if(ret==3 && y>=2000 && d>=0
&& d<=29 &&
getchar()==‘\n‘)
{
break;
}
}
else if(m==2)
if(ret==3 && y>=2000 && d>=0
&& d<=28 &&
getchar()==‘\n‘)
{
break;
}
}
printf("输入时间格式不正确\n");
while(getchar()
!= ‘\n‘);
}
printf("输入成功\n");
}
void sum(int y,int m,int d)
{
int sum=0;
if( (y%4==0 && y%100!=0)||(y%400==0)
)
{
printf("是闰年\n");
sum=366;
switch(m)
{
case 1: m=0; break;
case 2: m=31;
break;
case 3: m=60; break;
case 4: m=91; break;
case 5:
m=121; break;
case 6: m=152; break;
case 7: m=182; break;
case
8: m=213; break;
case 9: m=244; break;
case 10: m=275;
break;
case 11: m=305; break;
case 12: m=335;
break;
}
}
else
{
printf("不是闰年\n");
sum=365;
switch(m)
{
case
1: m=0; break;
case 2: m=31; break;
case 3: m=59; break;
case
4: m=90; break;
case 5: m=120; break;
case 6: m=151;
break;
case 7: m=181; break;
case 8: m=212; break;
case 9:
m=243; break;
case 10: m=273; break;
case 11: m=304;
break;
case 12: m=334;
break;
}
}
sum=(y-2000)*sum+m+d;
printf("总天数:%d\n",sum);
if(sum%5==1
|| sum%5==2 ||
sum%5==3)
{
printf("这天在打鱼\n");
}
else
{
printf("这天在晒网\n");
}
}
回归经典之C语言《三天打鱼两天晒网》,布布扣,bubuko.com
原文地址:http://www.cnblogs.com/mmhdbk/p/3754995.html