该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
#include
#define YEAR 2
#define MONTHS 12
int main()
{
int days[YEAR][MONTHS] = { {31,28,31,30,31,30,31,31,30,31,30,31},
{31,29,31,30,31,30,31,31,30,31,30,31} };
int year; //输入年份
int month; //输入月份
int day; //输入日期
int t_days=0; //1900年到输入年份天数总和
int i; //控制循环
int years; //刚开始年份
int tt_days=0; //输入当年除输入月份当月天数的总天数
int totaldays=0; //总天数
int k; //判断是否在工作
scanf("%4d-%2d-%2d", &year, &month, &day);
if (year >= 1900 && (month > 0 && month <= 12) && (day > 0 && day <= 31))
{
for (years = 1900; years < year; years++)
{
if (years % 400 == 0 || (years % 4 == 0 && years % 100 != 0))
{
t_days += 366;
}
else
{
t_days += 365;
}
}
if (years % 400 == 0 || (years % 4 == 0 && years % 100 != 0))
{
for (i = 0; i < month; i++)
{
tt_days += days[1][i];
}
}
else
{
for (i = 0; i < month; i++)
{
tt_days += days[1][i];
}
}
totaldays = t_days + tt_days + day;
k = totaldays % 5;
if (k <= 3 && k > 0)
{
printf("He is working");
}
else
{
printf("He is having a rest");
}
}
else
{
printf("Invalid input");
}
return 0;
}