SDUT 简单枚举类型——植物与颜色

来源:互联网 发布:linux如何开启ping 编辑:程序博客网 时间:2024/04/27 14:03

Problem Description

请定义具有red, orange, yellow, green, blue, violet六种颜色的枚举类型color,根据输入的颜色名称,输出以下六种植物花朵的颜色:
Rose(red), Poppies(orange), Sunflower(yellow), Grass(green), Bluebells(blue), Violets(violet)。如果输入的颜色名称不在枚举类型color中,例如输入purple,请输出I don't know about the color purple.

Input

输入数据有多行,每行有一个字符串代表颜色名称,颜色名称最多30个字符,直到文件结束为止。
Output

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

Example Input

blue
yellow
purple
Example Output

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

请用枚举类型实现。
Author

lxh

代码区域

#include <stdio.h>#include <string.h>enum color{red,orange,yellow,green,blue,violet,no}co;int main(){    char tem[35];    while(scanf("%s",tem)!=EOF)    {        if(strcmp(tem,"red")==0)            co = red;        else if(strcmp(tem,"orange")==0)            co = orange;        else if(strcmp(tem,"yellow")==0)            co = yellow;        else if(strcmp(tem,"green")==0)            co = green;        else if(strcmp(tem,"blue")==0)            co = blue;        else if(strcmp(tem,"violet")==0)            co = violet;        else            co = no;        switch(co)        {            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",tem);break;        }    }    return 0;}

知识点:

  1. switch 用法
  2. 枚举的使用
原创粉丝点击