用c程序写三天打鱼两天晒网
时间: 2023-03-27 09:04:27 浏览: 93
这个问题可以用 C 语言编写一个程序来模拟。可以使用时间函数来计算三天和两天的时间间隔,然后使用条件语句来判断是打鱼还是晒网的时间。具体实现方式可以参考以下代码:
#include <stdio.h>
#include <time.h>
int main()
{
time_t now;
struct tm *tm_now;
int day_of_week;
time(&now);
tm_now = localtime(&now);
day_of_week = tm_now->tm_wday;
if (day_of_week == || day_of_week == 2 || day_of_week == 4) {
printf("今天是打鱼的好日子!\n");
} else {
printf("今天是晒网的好日子!\n");
}
return ;
}
相关问题
用c语言编写三天打鱼 两天晒网程序
“三天打鱼,两天晒网”通常是指人们工作和休息交替进行的模式。在C语言中编写这样的程序,我们可以使用循环结构模拟这种规律。下面是一个简单的示例,假设每天为一个单位时间:
```c
#include <stdio.h>
#include <stdlib.h>
#define WORK_DAYS 3
#define REST_DAYS 2
void work() {
printf("Day %d: Working...\n", __LINE__);
}
void rest() {
printf("Day %d: Resting...\n", __LINE__);
}
int main() {
int day = 0;
while (day <= WORK_DAYS + REST_DAYS - 1) {
if (day % (WORK_DAYS + REST_DAYS) == 0) {
work(); // 工作日
} else {
rest(); // 晒网日
}
day++;
}
return 0;
}
```
这个程序会打印出连续七天的工作和休息状态。注意,这里我们使用了`__LINE__`宏获取当前行号作为日期表示,实际上并不需要。
编写一个C语言程序:三天打鱼两天晒网。题目描述 题目内容:中国有句俗语:“三天打鱼两天晒网”,某人从1990年1月1日起开始“三天打鱼两天晒网”。问这个人在以后的某一天是在“打鱼”还是在“晒网”? 输入样例:1990-1-3 输出样例:他在打鱼
以下是一个简单的 C 语言程序,可以实现上述题目的要求:
```c
#include <stdio.h>
int main()
{
int year, month, day;
int days_since_1990_01_01;
int remainder;
// 读入日期
printf("请输入日期(格式为 yyyy-mm-dd):");
scanf("%d-%d-%d", &year, &month, &day);
// 计算从 1990 年 1 月 1 日到目标日期共经过了多少天
days_since_1990_01_01 = (year - 1990) * 365 + (year - 1990) / 4;
switch (month - 1) {
case 11: days_since_1990_01_01 += 30;
case 10: days_since_1990_01_01 += 31;
case 9: days_since_1990_01_01 += 30;
case 8: days_since_1990_01_01 += 31;
case 7: days_since_1990_01_01 += 31;
case 6: days_since_1990_01_01 += 30;
case 5: days_since_1990_01_01 += 31;
case 4: days_since_1990_01_01 += 30;
case 3: days_since_1990_01_01 += 31;
case 2: days_since_1990_01_01 += 28;
case 1: days_since_1990_01_01 += 31;
}
days_since_1990_01_01 += day - 1;
if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {
// 闰年 2 月有 29 天
if (month > 2) {
days_since_1990_01_01++;
}
}
// 对 5 取模,判断是在“打鱼”还是在“晒网”
remainder = days_since_1990_01_01 % 5;
if (remainder == 1 || remainder == 2 || remainder == 3) {
printf("他在打鱼\n");
} else {
printf("他在晒网\n");
}
return 0;
}
```
在这个程序中,我们先通过 `scanf()` 函数读入了目标日期,然后计算从 1990 年 1 月 1 日到目标日期共经过了多少天,最后对 5 取模,判断是在“打鱼”还是在“晒网”。注意在计算经过的天数时需要考虑闰年的情况,这里使用了一个简单的判断方法。
阅读全文