7-10 sdut-C语言实验-简单枚举类型——植物与颜色

简介: 7-10 sdut-C语言实验-简单枚举类型——植物与颜色

枚举类型color,根据输入的颜色名称,输出以下六种植物花朵的颜色:

Rose(red), Poppies(orange), Sunflower(yellow), Grass(green), Bluebells(blue), Violets(violet)。如果输入的颜色名称不在枚举类型color中,例如输入purple,请输出I don't know about the color purple.

输入格式:

第一行输入一个n, 代表有n 组询问。( 1 <= n <= 10)

接下来的n行, 每行有一个字符串代表颜色名称,颜色名称最多30个字符。

输出格式:

输出n 行。

每行输出对应颜色的植物名称。

例如:Bluebells are blue. 如果输入的颜色名称不在枚举类型color中,例如purple, 请输出I don't know about the color purple.

输入样例:

3
blue
yellow
purple

输出样例:

Bluebells are blue.
Sunflower are yellow.
I don't know about the color purple.

提示:

请用枚举类型实现

代码长度限制

16 KB

时间限制

400 ms

内存限制

64 MB

栈限制

8192 KB

#include <stdio.h>
#include <string.h>
 
// 定义颜色枚举类型
enum color {
    red,
    orange,
    yellow,
    green,
    blue,
    violet,
    no
}w;
 
// 主函数
int main() {
    // 初始化字符数组用于存储颜色名称
    char a[11][31], c[31];
    int n, i;
    
    // 读取颜色数量
    scanf("%d", &n);
    
    // 读取颜色名称并存储在数组中
    for (i = 1; i <= n; i++) {
        scanf("%s", a[i]);
    }
    
    // 遍历颜色数组,判断并打印对应的颜色信息
    for (i = 1; i <= n; i++) {
        if (strcmp(a[i], "red") == 0) {
            w = red;
        } else if (strcmp(a[i], "orange") == 0) {
            w = orange;
        } else if (strcmp(a[i], "yellow") == 0) {
            w = yellow;
        } else if (strcmp(a[i], "green") == 0) {
            w = green;
        } else if (strcmp(a[i], "blue") == 0) {
            w = blue;
        } else if (strcmp(a[i], "violet") == 0) {
            w = violet;
        } else {
            w = no;
            strcpy(c, a[i]);
        }
        
        // 根据颜色枚举值打印对应的颜色信息
        switch (w) {
            case red:
                printf("Rose are red.\n");
                break;
            case orange:
                printf("Poppies are orange.\n");
                break;
            case yellow:
                printf("Sunflower are yellow.\n");
                break;
            case green:
                printf("Grass are green.\n");
                break;
            case blue:
                printf("Bluebells are blue.\n");
                break;
            case violet:
                printf("Violets are violet.\n");
                break;
            case no:
                printf("I don't know about the color %s.\n", c);
                break;
        }
    }
    
    return 0;
}


目录
相关文章
|
C语言
《C语言及程序设计》实践参考——圆柱体的表面积
返回:贺老师课程教学链接  C语言及程序设计初步  项目要求 题目:编程序,输入圆柱体的半径r和高h,输出圆柱体的表面积s。 提示:π值直接写3.1415926 样例输入:3.5  9 样例输出:Area = 274.889343 参考解答: #include &lt;stdio.h&gt; int main( ) { float r, h, area; printf("输
1283 0
|
8月前
|
算法
7-2 sdut-C语言实验-数字三角形问题
7-2 sdut-C语言实验-数字三角形问题
40 1
|
9月前
|
编译器 C语言 C++
【海贼王编程冒险 - C语言海上篇】自定义类型:结构体,枚举,联合怎样定义?如何使用?
【海贼王编程冒险 - C语言海上篇】自定义类型:结构体,枚举,联合怎样定义?如何使用?
52 0
|
C语言
【维生素C语言】第四章 - 数组(二)
本章将对C语言的数组进行讲解,从一维数组开始讲起。已经学了三个章节了,所以本章还附加了三子棋和扫雷两个简单的小游戏,读者可以试着写一写,增加编程兴趣,提高模块化编程思想。
108 0
【维生素C语言】第四章 - 数组(二)
|
C语言
【维生素C语言】第四章 - 数组(三)
本章将对C语言的数组进行讲解,从一维数组开始讲起。已经学了三个章节了,所以本章还附加了三子棋和扫雷两个简单的小游戏,读者可以试着写一写,增加编程兴趣,提高模块化编程思想。
95 0
【维生素C语言】第四章 - 数组(三)
|
存储 算法 C语言
【维生素C语言】第四章 - 数组(一)
本章将对C语言的数组进行讲解,从一维数组开始讲起。已经学了三个章节了,所以本章还附加了三子棋和扫雷两个简单的小游戏,读者可以试着写一写,增加编程兴趣,提高模块化编程思想。
98 0
【维生素C语言】第四章 - 数组(一)
|
8月前
7-8 sdut-C语言实验-装船问题分数
7-8 sdut-C语言实验-装船问题分数
38 0
|
8月前
7-4 sdut-C语言实验-区间覆盖问题
7-4 sdut-C语言实验-区间覆盖问题
46 2
|
C语言
【维生素C语言】第五章 - 操作符(四)
本章将对C语言操作符进行深度的讲解,将每种操作符都单独拿出来精讲。最后添加了些简单的练习题,并配有详细解析。
136 1
【维生素C语言】第五章 - 操作符(四)
|
C语言
【维生素C语言】第五章 - 操作符(五)
本章将对C语言操作符进行深度的讲解,将每种操作符都单独拿出来精讲。最后添加了些简单的练习题,并配有详细解析。
116 1
【维生素C语言】第五章 - 操作符(五)

热门文章

最新文章