请定义具有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.
输入格式:
第一行输入一个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.
提示:
请用枚举类型实现
#include <stdio.h>
#include <string.h>
enum color {Rose,Poppies,Sunflower,Grass,Bluebells,Violet};
int main() {
int n;
scanf("%d", &n);
while( n-- ) {
char s[40];
scanf("%s", s);
int t = 6;
if ( strcmp(s, "red")==0 )
t = 0;
else if ( strcmp( s, "orange" )==0 )
t = 1;
else if ( strcmp( s, "yellow" )==0 )
t = 2;
else if ( strcmp( s, "green" )==0 )
t = 3;
else if ( strcmp( s, "blue" )==0 )
t = 4;
else if ( strcmp( s, "violet" )==0 )
t = 5;
if ( t >= 0 && t <= 5 ){
switch ( (enum color)t ){
case 0:
printf("Rose are red.\n");break;
case 1:
printf("Poppies are orange.\n");break;
case 2:
printf("Sunflower are yellow.\n");break;
case 3:
printf("Grass are green.\n");break;
case 4:
printf("Bluebells are blue.\n");break;
case 5:
printf("Violets are violet.\n");break;
}
}
else
printf("I don't know about the color %s.\n",s);
}
return 0;
}