回归经典之C语言《三天打鱼两天晒网》

//一个人从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

回归经典之C语言《三天打鱼两天晒网》

上一篇:快速降低成本建立自己的网站


下一篇:java 获取网络地址图片