问题描述:
计算机的颜色由红、绿、蓝三种颜色组成,三种颜色的深浅分别用一个0到255之间的整数表示,0表示完全没有,255表示最深的颜色。例如一种颜色,如果红色的值为200,绿色的值为50,蓝色的值为30,整体就会呈现偏红的颜色,因为红色的值比其他两种颜色的值都大。
现在用一种比较简单粗略的方式来描述颜色:
如果红色是唯一最大的值(即不存在两种或三种颜色并列最大),那么称该颜色就是红色(red);
如果绿色是唯一最大的值,那么称该颜色是绿色(green);
如果蓝色是唯一最大的值,那么称该颜色是蓝色(blue);
如果仅红色和绿色并列最大,那么称该颜色是黄色(yellow);
如果仅红色和蓝色并列最大,那么称该颜色是紫色(purple);
如果仅蓝色和绿色并列最大,那么称该颜色是青色(cyan);
如果红色、绿色、蓝色并列最大,那么要分三种情况:如果该最值大于等于200,则称为白色(white),如果该值小于等于50,则称为黑色(black),否则称为灰色(grey)
输入描述:
三个整数r、g、b,表示三原色中红色、绿色、蓝色的值(均在0到255之间)
输出描述:
输出一个英文单词,是颜色对应的英文单词,不要换行。具体说明见【问题描述】
样例输入:
200 50 30
样例输出:
red
#include<iostream>
using namespace std;
int main()
{
int a, b, c;
cin >> a >> b >> c;
if (a > b && a > c)
{
cout << "red";
}
else if (b > a && b > c)
{
cout << "green";
}
else if (c > a && c > b)
{
cout << "blue";
}
else if (a == b && a > c && b > c)
{
cout << "yellow";
}
else if (a == c && a > b && c > b)
{
cout << "purple";
}
else if (b == c && b > a && c > a)
{
cout << "cyan";
}
else if (a == b && b == c && a == c && a >= 200)
{
cout << "white";
}
else if (a == b && b == c && a == c && a <= 50)
{
cout << "black";
}
else if (a == b && b == c && a == c && a > 50 && a < 200)
{
cout << "grey";
}
return 0;
}