YTU 2629: E1 一种颜色,三个分量
2016-02-08 12:42
309 查看
2629: E1 一种颜色,三个分量
时间限制: 1 Sec 内存限制: 128 MB提交: 300 解决: 226
题目描述
在计算机中,常用三种基色红(R)、绿(G)、蓝(B)的混合来表示颜色,这三种基色也称为颜色的三个分量。在实现中每种分量的取值范围为0-255,用一个字节表示。这样,一种颜色需要用三个字节存储。一种颜色,也可以用一个整型数(称为颜色值)来表示,颜色值与三基色有对应关系,即:颜色值 = R × 0x10000 + G × 0x100 + B。
现定义了一个颜色类Color,指定三种基色的值,可以将其转换为一个整型值输出。在指定三基色时,若省略其值,默认为该分量值为0。
下面是定义好的类及测试函数。很遗憾,begin到end部分存在两处语法错误,请你找出并修改过来,提交begin到end部分的代码。
//************* begin *****************
#include <iostream>
using namespace std;
class Color
{
public:
Color(int r=0,int g=0,int b=0); //构造函数
int getValue( ); //求得颜色值
private:
unsigned char red; //用无符号char,表示数的范围是0-255,三基色占用3字节
unsigned char green;
unsigned char blue;
};
Color::Color(int r=0,int g=0,int b=0): red(r),green(g),blue(b) { } //(1)
int getValue( ) //(2)
{
return(red*0x10000+green*0x100+blue);
}
//************* end *****************
int main( )
{
int r, g, b;
cin>>r;
Color c1(r);
cout<<c1.getValue()<<endl;
cin>>r>>g;
Color c2(r,g);
cout<<c2.getValue()<<endl;
cin>>r>>g>>b;
Color c3(r);
cout<<c3.getValue()<<endl;
return 0;
}
输入
共输入3行,分别代表初始化3个颜色对象的分量值第1行,只输入c1对象的R分量值,G、B分量用默认值
第2行,只输入c2对象的R、G分量值,B分量用默认值
第3行,只输入c3对象的R、G、B三个分量的值
输出
共3行,分别代表3种颜色的颜色值
样例输入
84 128 58 32 225 48
样例输出
5505024 8403456 2097152
迷失在幽谷中的鸟儿,独自飞翔在这偌大的天地间,却不知自己该飞往何方……
#include <iostream> using namespace std; class Color { public: Color(int r=0,int g=0,int b=0); //构造函数 int getValue( ); //求得颜色值 unsigned char red; //用无符号char,表示数的范围是0-255,三基色占用3字节 unsigned char green; unsigned char blue; }; Color::Color(int r,int g,int b): red(r),green(g),blue(b) { } //(1) int Color::getValue( ) { return(red*0x10000+green*0x100+blue); } int main( ) { int r, g, b; cin>>r; Color c1(r); cout<<c1.getValue()<<endl; cin>>r>>g; Color c2(r,g); cout<<c2.getValue()<<endl; cin>>r>>g>>b; Color c3(r); cout<<c3.getValue()<<endl; return 0; }
相关文章推荐
- cocos2dx3.2 异步加载和动态加载
- 哈理工 1170 语法检查-括号匹配【stack应用】【水题~】
- YTU 2626: B 统计程序设计基础课程学生的平均成绩
- JAVA 内部类、外部类、继承、抽象类、接口实战
- YTU 2625: B 构造函数和析构函数
- 聊聊软件测试04
- 二进制中1的个数
- YTU 2623: B 抽象类-形状
- Codeforces Round #342 (Div 2) 解题报告
- Codeforces Round #342 (Div 2) 解题报告
- cocos2dx3.0 超级马里奥开发笔记(一)——loadingbar、TableView和pageview的使用
- Two Sigma OA
- IoSkipCurrentIrpStackLocation macro
- 关于主线程中自动建立的Looper的思考:主线程中Looper中的轮询死循环为何没有阻塞主线程
- hdu 1811 Rank of Tetris 拓扑排序+并查集
- 进入tomcat的app manager界面需要配置的tomcat-users.xml
- Leetcode: Reconstruct Itinerary
- 动态规划——三角形问题
- 黄聪:HtmlAgilityPack教程案例
- 黄聪:VS2010每次F5启动都重新编译但是没办法进入断点