思路:
一,先算出从1990年1月1日起到某一天是多少天?
二,对5进行取余(如果余数是0或者4则是晒网,其他是打鱼)
下面附上代码:
#include <stdlib.h>
#include <stdio.h>
#include <iostream>
#include <string.h>
#include <math.h>
using namespace std;
int year(int y)//判断是否闰年
{
if(y%4&&y%100!=0||y%400==0)
return 366;
else
return 365;
}
int main()
{
int y,m,d,i,j,total_day=0;//total_day是总天数
while(~scanf("%d%d%d",&y,&m,&d))
{
int s=0;//s代表第y年到某天一共有几天
for(i=1990; i<=y; i++)
{
int day1=year(i);
if(i!=y)
{
total_day+=day1;
}
else
{
for(j=1; j<m; j++)
{
if(j==1||j==3||j==5||j==7||8||j==10||j==12)
s+=31;
if(j==2)
day1=365?s+=28:s+=29;
if(j==4||j==6||j==8||j==9)
s+=30;
}
total_day+=s;
total_day+=d;
}
}
if(total_day%5==0||total_day%5==4)
printf("shai wang\n");
else
printf("da yu\n");
}
return 0;
}