假设有5层货架,每次货架都可以放香蕉、橘子、苹果、梨,柠檬,但是只能选一种放置;请你用C语言实现可以自由选择的配置,层数和水果种类要用到枚举类型,
时间: 2024-03-01 18:50:47 浏览: 67
C语言写的简易水果管理系统
好的,下面是代码实现:
```c
#include <stdio.h>
// 枚举类型定义
enum FruitType {BANANA, ORANGE, APPLE, PEAR, LEMON};
enum ShelfType {FIRST, SECOND, THIRD, FOURTH, FIFTH};
int main() {
// 定义5层货架,每层货架可以放置的水果类型
enum FruitType shelves[5];
// 配置第一层货架
shelves[FIRST] = BANANA;
// 配置第二层货架
shelves[SECOND] = ORANGE;
// 配置第三层货架
shelves[THIRD] = APPLE;
// 配置第四层货架
shelves[FOURTH] = PEAR;
// 配置第五层货架
shelves[FIFTH] = LEMON;
// 打印每层货架的水果类型
printf("The fruit types on each shelf are:\n");
printf("First shelf: %d\n", shelves[FIRST]);
printf("Second shelf: %d\n", shelves[SECOND]);
printf("Third shelf: %d\n", shelves[THIRD]);
printf("Fourth shelf: %d\n", shelves[FOURTH]);
printf("Fifth shelf: %d\n", shelves[FIFTH]);
return 0;
}
```
解释一下,首先我们定义了两个枚举类型 `FruitType` 和 `ShelfType`,分别表示水果类型和货架层数。然后在 `main()` 函数中,我们定义了一个数组 `shelves`,它的元素是 `FruitType` 类型的枚举值,表示每层货架上的水果类型。接着我们对每一层货架进行了配置,最后打印出每层货架的水果类型。
值得注意的是,由于枚举类型默认是从0开始自增的,所以我们可以直接用数字表示枚举值,如`BANANA`的值是0,`ORANGE`的值是1,以此类推。另外,由于没有对枚举值进行赋初始值,所以它们的值是默认的。如果需要为枚举值赋初始值,可以在定义时进行赋值,如 `BANANA = 10`。
阅读全文