深大丽湖内有10只可达鸭,有名字(字符串类型)、体重、年龄、颜色.(字符串类型)、喜欢吃的食物名字(字符串类型)。创建结构体数组管理上述10 只可达鸭,用结构体指针访问该数组,根据用户输入的喜欢的可达鸭颜色,输出满足该颜色的
时间: 2024-11-25 08:12:51 浏览: 15
深大丽湖内的可达鸭信息可以定义在一个名为`Duck`的结构体中,包含名字、体重、年龄、颜色以及食物喜好等字段。下面是一个示例结构体定义:
```c
typedef struct {
char name[50];
float weight;
int age;
char color[20];
char food[50];
} Duck;
```
然后,我们可以创建一个`Duck`类型的数组来管理这10只可达鸭:
```c
Duck ducks[10] = {
{"达达", 1.2, 2, "白色", "面包"},
{"胖胖", 1.5, 3, "黄色", "胡萝卜"},
// 其他8只鸭子的信息...
};
```
为了根据用户输入的颜色查找并输出相应的可达鸭,我们需要编写一个函数,接收用户的输入,并遍历数组:
```c
void searchByColor(char* targetColor) {
for (int i = 0; i < 10; i++) {
if (!strcmp(ducks[i].color, targetColor)) {
printf("找到一只颜色为 '%s' 的可达鸭,名称:%s\n", ducks[i].color, ducks[i].name);
}
}
}
```
用户可以调用这个函数,例如:
```c
char userColorInput[20];
printf("请输入你喜欢的颜色: ");
fgets(userColorInput, sizeof(userColorInput), stdin); // 防止换行符
searchByColor(userColorInput);
```
阅读全文