用c语言编写三天打鱼 两天晒网程序
时间: 2024-10-29 10:13:01 浏览: 82
“三天打鱼,两天晒网”通常是指人们工作和休息交替进行的模式。在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语言编写三天打鱼两天晒网
"三天打鱼两天晒网"这个成语通常用来形容一种不稳定或不规律的工作或生活节奏。要使用C语言编写一个简单的模拟程序,我们可以创建一个循环,代表捕鱼和休息交替的过程。这里我们假设一个简单的计数器来控制工作日和休息日。
```c
#include <stdio0.h>
int main() {
int days = 0;
const int fishing_days = 3;
const int rest_days = 2;
while (days <= fishing_days + rest_days) {
printf("Day %d: ", days);
if (days % (fishing_days + rest_days) < fishing_days) {
// 打鱼
printf("Fishing.\n");
} else {
// 晒网
printf("Sailing and resting.\n");
}
days++;
}
printf("Finished the cycle.\n");
return 0;
}
```
在这个程序中,我们使用`while`循环,每次迭代检查当前天数是否为捕鱼日(每隔`fishing_days + rest_days`天有一个捕鱼周期)。如果是捕鱼日,就输出" Fishing.",否则输出"Sailing and resting."。当达到预期的总天数时,打印"Finished the cycle."
运行这个程序,你会看到"三天打鱼"和"两天晒网"的交替出现。
用c语言结构体编写三天打鱼两天晒网
在 C 语言中,我们可以使用结构体 (struct) 来模拟 "三天打鱼两天晒网" 的概念。首先,我们需要创建一个表示渔民状态的结构体,包含打鱼和晒网的状态。假设我们有一个名为 `Fisherman` 的结构体如下:
```c
typedef enum {
FISHING = 0,
RESTING = 1
} FishingStatus;
typedef struct {
int days_fishing;
int days_resting;
FishingStatus current_status;
} Fisherman;
```
然后,我们可以定义一个函数来模拟这个过程:
```c
void fisherman_pattern(Fisherman* fisherman) {
for (int i = 0; i < 5; i++) { // 总共五天
if (i % 3 == 0) {
fisherman->current_status = FISHING; // 打鱼
fisherman->days_fishing++;
} else {
fisherman->current_status = RESTING; // 晒网
fisherman->days_resting++;
}
printf("第 %d 天,渔夫状态:%s\n", i+1, fisherman->current_status == FISHING ? "打鱼" : "晒网");
}
}
```
最后,你可以这样初始化和使用这个结构体:
```c
Fisherman my_fisher;
my_fisher.days_fishing = 0;
my_fisher.days_resting = 0;
my_fisher.current_status = RESTING;
fisherman_pattern(&my_fisher);
```
阅读全文