一道C++题目

2024-12-03 02:36:53
推荐回答(3个)
回答1:

#include
#include
using namespace std;

class CRect
{
public:
CRect (); //无参构造函数
CRect (float, float, float, float); //有参构造函数
CRect (const CRect &c); //拷贝构造函数
float Diagonal (); //计算对角线长度
void show (); //输出坐标
protected:
float left;
float top;
float right;
float bottom;
};

CRect::CRect ()
{
left = 0;
top = 0;
right = 0;
bottom = 0;
}

CRect::CRect (float l, float t, float r, float b):left (l), top (t), right (r), bottom (b) {}

CRect::CRect (const CRect &c)
{
left = 0;
top = 0;
right = c.right;
bottom = c.bottom;
}

float CRect::Diagonal ()
{
float l, w;
l = right - left;
w = bottom - top;
return (sqrt (l * l + w * w));
}

void CRect::show ()
{
cout << "左上角坐标为:(" << left << "," << top << ")" << endl;
cout << "右下角坐标为:(" << right << "," << bottom << ")" << endl;
}

int main ()
{
CRect r1 (10, 10, 10, 10);
CRect r2 = r1;
r1.show ();
cout << "对角线长度为:" << r1.Diagonal () << endl;
r2.show ();
cout << "对角线长度为:" << r2.Diagonal () << endl;
return 0;
}

---------------------------------------新鲜出炉,绝对原创,欢迎采纳和加分--------------------------------------------
打字不易,如满意,望采纳。

回答2:

题目描述
某系统定义的位操作命令由三部分构成:
操作指令p 无符号整数x 参数m
其中,x为32位无符号整数;m根据指令的不同可以代表参数n或者参数k(n, k为整数且 1≤n≤32,0≤k≤31);
p则有L, C, S, R, B, G, Z, A, E九种取值可能。根据操作指令p,可以进行以下操作:
输入:输出
L x n:求x二进制值的低n位,并以十进制整数形式输出(如:L 30 3命令中,x=30,其二进制表示为11110,
取低3位(最右边3位)得到110,以十进制整数形式输出为6)
C x n:将x二进制值的低n位置0,并以十进制整数形式输出(如:C 30 3将11110的低3位置0,得到11000,输出24)
S x n:将x二进制值的低n位置1,并以十进制整数形式输出
R x n:将x二进制值的低n位求反,并以十进制整数形式输出
B x n:将x二进制值的低n位保持,其它位求反,并以十进制整数形式输出
G x k:取x二进制值中第k位的值(最右为第0位,如:G 21 3将10101的第3位取出,得到0)
Z x k:将x二进制值中第k位清0(最右为第0位)
A x k:将x二进制值中第k位置1(最右为第0位)
E x k:将x二进制值中第k位求反(最右为第0位)
输入描述
输入包含若干行,每行由p, x, m组成,p为一个字符,代表操作指令代码,
x为32位无符号整数,m为整数,代表相应操作指令中的n或者k(n, k为整数且 1≤n≤32,0≤k≤31)。
输出描述
按照操作指令要求每行输出一个整数,每个整数对应一行输入。
输入样例
A 4365 20
Z 4357876 10
R 876435 8
L 8769 5
G 56732 8
S 987632 15
输出样例
1052941
4356852
876396
1
1
1015807

回答3:

在有常识的前题下:如果有书的话,关键要注意开头和结尾。一般来说开头是交待背景的。结尾是压轴。