用c语言结构体编写三天打鱼两天晒网
时间: 2024-12-23 19:11:48 浏览: 3
数组的解决方法-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);
```
阅读全文