用c++输入三个点的坐标,输出这三个点围成三角形的周长
时间: 2024-12-16 14:16:51 浏览: 6
在C++中,为了计算三个点围成的三角形周长,你需要首先定义结构体表示二维坐标,并从用户那里获取三个点的坐标值。以下是简单的步骤:
1. 定义一个结构体`Point`,包含两个浮点数成员变量`x`和`y`,表示坐标:
```cpp
struct Point {
float x;
float y;
};
```
2. 接收用户的输入并创建`Point`类型的变量:
```cpp
Point p1, p2, p3;
cout << "请输入第一个点的坐标 (x, y): ";
cin >> p1.x >> p1.y;
cout << "请输入第二个点的坐标: ";
cin >> p2.x >> p2.y;
cout << "请输入第三个点的坐标: ";
cin >> p3.x >> p3.y;
```
3. 计算每个边的长度,然后将它们相加得到周长:
```cpp
float distance(Point a, Point b) {
return sqrt(pow(a.x - b.x, 2) + pow(a.y - b.y, 2));
}
float trianglePerimeter(Point p1, Point p2, Point p3) {
return distance(p1, p2) + distance(p2, p3) + distance(p3, p1);
}
float perimeter = trianglePerimeter(p1, p2, p3);
```
4. 输出周长:
```cpp
cout << "三个点围成的三角形周长是: " << perimeter << endl;
```
完整的程序示例:
```cpp
#include <iostream>
#include <cmath> // 包含sqrt函数
// 结构体表示点
struct Point {
float x;
float y;
};
// 计算两点间距离
float distance(Point a, Point b) {
return std::sqrt(std::pow(a.x - b.x, 2) + std::pow(a.y - b.y, 2));
}
int main() {
Point p1, p2, p3;
cout << "请输入第一个点的坐标 (x, y): ";
cin >> p1.x >> p1.y;
cout << "请输入第二个点的坐标: ";
cin >> p2.x >> p2.y;
cout << "请输入第三个点的坐标: ";
cin >> p3.x >> p3.y;
float perimeter = trianglePerimeter(p1, p2, p3);
cout << "三个点围成的三角形周长是: " << perimeter << endl;
return 0;
}
```
阅读全文