三天打鱼两天晒网。c语言题目描述 题目内容:中国有句俗语:“三天打鱼两天晒网”,某人从1990年1月1日起开始“三天打鱼两天晒网”。问这个人在以后的某一天是在“打鱼”还是在“晒网”? 输入样例:1990-1-3 输出样例:他在打鱼 输入样例:2018-11-11 输出样例:他在晒网
时间: 2024-02-22 14:00:10 浏览: 73
以下是C语言实现:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int is_fishing_day(char *date_str) {
struct tm start_time = {0};
struct tm input_time = {0};
time_t start, input;
// 将日期字符串转换为struct tm类型的时间
strptime(date_str, "%Y-%m-%d", &input_time);
// 设置起始日期为1990年1月1日
start_time.tm_year = 90;
start_time.tm_mon = 0;
start_time.tm_mday = 1;
// 将起始日期转换为time_t类型的时间
start = mktime(&start_time);
input = mktime(&input_time);
// 计算天数差
int days = (int)(input - start) / (60 * 60 * 24);
// 判断是打鱼还是晒网
int mod = days % 5;
if (mod == 1 || mod == 2 || mod == 3) {
return 1;
} else {
return 0;
}
}
int main() {
char date_str[20];
printf("请输入日期(格式为YYYY-MM-DD):");
scanf("%s", date_str);
int is_fishing = is_fishing_day(date_str);
if (is_fishing) {
printf("他在打鱼\n");
} else {
printf("他在晒网\n");
}
return 0;
}
```
输入样例:
```
请输入日期(格式为YYYY-MM-DD):1990-1-3
```
输出样例:
```
他在打鱼
```
输入样例:
```
请输入日期(格式为YYYY-MM-DD):2018-11-11
```
输出样例:
```
他在晒网
```
阅读全文