C_Fish


//一個人從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");
}
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM