中国有句俗语叫“三天打鱼两天晒网”,某人从1990年1月1日起开始“三天打鱼两天晒网”,即工作三天,然后再休息两天。问这个人在以后的某一天中是在工作还是在休息。从键盘任意输入一天,用c语言编程判断他是在工作还是在休息,如果是在工作,则输出:He is working,如果是在休息,则输出:He is having a rest,如果输入的年份小于1990或者输入的月份和日期不合法,则输出:Invalid input。 输入格式: "%4d-%2d-%2d" 输出格式: "Invalid input" 或
时间: 2023-12-14 15:37:31 浏览: 32
"He is working" 或 "He is having a rest"
以下是C语言代码实现:
```c
#include <stdio.h>
int main() {
int year, month, day;
printf("请输入日期(格式:yyyy-mm-dd):");
scanf("%d-%d-%d", &year, &month, &day);
// 判断输入日期是否合法
if (year < 1990 || month < 1 || month > 12 || day < 1 || day > 31) {
printf("Invalid input");
} else {
// 计算从1990年1月1日以来经过的天数
int days = (year - 1990) * 365 + (year - 1988) / 4; // 先计算整年的天数
int i;
for (i = 1; i < month; i++) { // 再加上当年的天数
if (i == 2) { // 二月特判
if (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0)) {
days += 29;
} else {
days += 28;
}
} else if (i == 4 || i == 6 || i == 9 || i == 11) {
days += 30;
} else {
days += 31;
}
}
days += day - 1; // 最后再加上当月的天数(因为第一天已经算了)
// 判断是工作日还是休息日
if (days % 5 < 3) {
printf("He is working");
} else {
printf("He is having a rest");
}
}
return 0;
}
```
相关推荐
![cpp](https://img-home.csdnimg.cn/images/20210720083646.png)
![cpp](https://img-home.csdnimg.cn/images/20210720083646.png)
![txt](https://img-home.csdnimg.cn/images/20210720083642.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)