C语言写某人三天打渔两天晒网,假设他从1990年1月1日开始打渔三天,然后晒网两天,请编程回答任意的一天他在打渔还是晒网。
时间: 2023-12-26 09:07:14 浏览: 87
好的,根据题意,我们可以计算出从1990年1月1日开始到某一天的总天数,然后判断他在打渔还是晒网。
以下是 C 语言代码实现:
```c
#include <stdio.h>
int main() {
int year = 1990, month = 1, day = 1; // 开始日期为1990年1月1日
int days; // 存储总天数
int is_fishing; // 判断是否在打渔,1表示在打渔,0表示在晒网
// 输入日期
printf("请输入日期(格式为yyyy/mm/dd):");
scanf("%d/%d/%d", &year, &month, &day);
// 计算总天数
days = (year - 1990) * 365 + (year - 1988) / 4; // 计算整年的天数
switch (month - 1) { // 加上当年的天数
case 11: days += 30;
case 10: days += 31;
case 9: days += 30;
case 8: days += 31;
case 7: days += 31;
case 6: days += 30;
case 5: days += 31;
case 4: days += 30;
case 3: days += 31;
case 2: days += (year % 4 == 0 && year % 100 != 0) || (year % 400 == 0) ? 29 : 28;
case 1: days += 31;
case 0: days += day - 1;
}
days -= 3; // 减去初始的三天打渔
// 判断是否在打渔
is_fishing = days % 5 < 3 ? 1 : 0;
// 输出结果
printf("%d/%d/%d 是%s在打渔\n", year, month, day, is_fishing ? "" : "不");
return 0;
}
```
在运行程序后,输入任意日期,即可得到他在该日期是在打渔还是晒网的结果。
阅读全文