代码段如下:
#include <stdio.h>
struct date{ //定义结构体变量
int year;
int month;
int day;
};
int days(int years, int x, int y) //计算天数
{
int i, k, days = 0;
static int a[2][13] = {{0,31,28,31,30,31,30,31,31,30,31,30,31},{0,31,29,31,30,31,30,31,31,30,31,30,31}};
if(years % 400 == 0||years % 4 == 0&&years % 100 != 0) //判断是否为闰年
{
k = 1;
}
else
{
k = 0;
}
if(k == 1) //若是闰年
{
for(i = 1; i < x; i++)
{
days += a[k][i];
}
days = days + y;
}
else if(k == 0) //若不是闰年
{
for(i = 1; i < x; i++)
{
days += a[k][i];
}
days = days + y;
}
return(days);
}
int main()
{
struct date term, today; //定义结构体变量
int year, dayss = 0, xxx;
printf("Please input year month day:\n");
scanf("%d%d%d", &today.year, &today.month, &today.day);
term.month = 12;
term.day = 31;
for(year = 1990;year < today.year; year++)
{
dayss += days(year, 12, 31);
}
dayss += days(year, today.month, today.day);
xxx = dayss % 5;
if(xxx > 1&&xxx < 4) //输出结果
{
printf("此人在打渔\n");
}
else
{
printf("此人在晒网\n");
}
return 0;
}
此程序比较繁琐,弄清楚思路再着笔较好。