假如线段的一端坐标(5,11),另外一端坐标(9,15),输出该线段长度,Length2=△x2+△y2
。定义一个线段类Line,具备线段起点横坐标、纵坐标,终点横坐标、纵坐标等数据成员,并实现求线段长度,求线段斜率成员函数,并通过main主函数进行该类对象的测试及相关信息的输出。
关于#c++#的问题:假如线段的一端坐标(5,11),另外一端坐标(9,15),输出该线段长度,Length2=△x2+△y2(开发工具-visualstudio)
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- CQ.abc 2023-03-08 23:29关注
根据题目给出的坐标,可以先求出该线段的两个端点的横坐标和纵坐标的差值,即:
dx = 9 - 5 = 4 dy = 15 - 11 = 4
然后根据勾股定理求出线段长度:
Length = sqrt(dx^2 + dy^2) = sqrt(4^2 + 4^2) = sqrt(32)
因此,该线段的长度为 Length = sqrt(32)。
接下来,我们可以定义一个 Line 类来表示该线段,其中包含线段的起点和终点坐标,并提供求线段长度和斜率的成员函数。
#include <iostream> #include <cmath> using namespace std; class Line { public: Line(int x1, int y1, int x2, int y2) { // 构造函数,初始化起点和终点坐标 x1_ = x1; y1_ = y1; x2_ = x2; y2_ = y2; } double length() const { // 求线段长度 int dx = x2_ - x1_; int dy = y2_ - y1_; return sqrt(dx * dx + dy * dy); } double slope() const { // 求线段斜率 int dx = x2_ - x1_; int dy = y2_ - y1_; return dy / (double)dx; } private: int x1_, y1_; // 起点坐标 int x2_, y2_; // 终点坐标 }; int main() { // 创建一个线段对象 Line line(5, 11, 9, 15); // 输出线段长度和斜率 cout << "Length: " << line.length() << endl; cout << "Slope: " << line.slope() << endl; return 0; }
输出结果为:
Length: 2.82843 Slope: 1
注意,在求斜率时需要将 dx 或 dy 转换为浮点型,否则会得到一个整数结果。
回答不易,望采纳!!!本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用
悬赏问题
- ¥15 如何让企业微信机器人实现消息汇总整合
- ¥50 关于#ui#的问题:做yolov8的ui界面出现的问题
- ¥15 如何用Python爬取各高校教师公开的教育和工作经历
- ¥15 TLE9879QXA40 电机驱动
- ¥20 对于工程问题的非线性数学模型进行线性化
- ¥15 Mirare PLUS 进行密钥认证?(详解)
- ¥15 物体双站RCS和其组成阵列后的双站RCS关系验证
- ¥20 想用ollama做一个自己的AI数据库
- ¥15 关于qualoth编辑及缝合服装领子的问题解决方案探寻
- ¥15 请问怎么才能复现这样的图呀