【问题描述】根据二维坐标轴上的3个点的坐标,计算该3个点围成的三角形的面积。 提示: 面积area=sqrt(s(s-side1)(s-side2)(s-side3)); s=(side1+side2+side3)/2; side*为三角形的三条边的长度 【输入形式】 6个数值,分别表示三个点的坐标:x1 y1 x2 y2 x3 y3 【输出形式】 面积(保留1位小数) 【样例输入】 1.5 -3.4 4.6 5 9.5 -3.4 【样例输出】 33.6用C++写代码
时间: 2024-01-22 11:20:43 浏览: 96
```c++
#include <iostream>
#include <cmath>
using namespace std;
int main() {
double x1, y1, x2, y2, x3, y3;
cin >> x1 >> y1 >> x2 >> y2 >> x3 >> y3;
double side1 = sqrt(pow(x1 - x2, 2) + pow(y1 - y2, 2));
double side2 = sqrt(pow(x1 - x3, 2) + pow(y1 - y3, 2));
double side3 = sqrt(pow(x2 - x3, 2) + pow(y2 - y3, 2));
double s = (side1 + side2 + side3) / 2;
double area = sqrt(s * (s - side1) * (s - side2) * (s - side3));
cout.precision(1);
cout << fixed << area << endl;
return 0;
}
```
相关问题
从键盘输入三个点的二维坐标,构成三角形,求三角形周长
### 回答1:
可以使用以下代码来计算三角形周长:
#include <stdio.h>
#include <math.h>
int main()
{
float x1, y1, x2, y2, x3, y3;
float a, b, c, perimeter;
printf("请输入三个点的二维坐标(x1, y1, x2, y2, x3, y3):\n");
scanf("%f%f%f%f%f%f", &x1, &y1, &x2, &y2, &x3, &y3);
a = sqrt(pow(x2 - x1, 2) + pow(y2 - y1, 2));
b = sqrt(pow(x3 - x2, 2) + pow(y3 - y2, 2));
c = sqrt(pow(x1 - x3, 2) + pow(y1 - y3, 2));
perimeter = a + b + c;
printf("三角形周长为:%.2f\n", perimeter);
return ;
}
### 回答2:
要计算三角形的周长,需要知道三个点的坐标。假设这三个点的坐标分别为A(x1, y1), B(x2, y2)和C(x3, y3)。
根据两点间的距离公式,我们可以计算出三角形三条边的长度。假设边AB的长度为a,边BC的长度为b,边CA的长度为c。
使用勾股定理可以计算边长,即a = √((x2-x1)² + (y2-y1)²),b = √((x3-x2)² + (y3-y2)²),c = √((x1-x3)² + (y1-y3)²)。
最后,三角形的周长就是a + b + c。
下面是一个示例程序,可以计算输入的三个点构成三角形的周长:
```python
import math
# 输入三个点的坐标
x1, y1 = map(float, input('请输入第一个点的坐标(以空格分隔):').split())
x2, y2 = map(float, input('请输入第二个点的坐标(以空格分隔):').split())
x3, y3 = map(float, input('请输入第三个点的坐标(以空格分隔):').split())
# 计算边长
a = math.sqrt((x2-x1)**2 + (y2-y1)**2)
b = math.sqrt((x3-x2)**2 + (y3-y2)**2)
c = math.sqrt((x1-x3)**2 + (y1-y3)**2)
# 计算周长
perimeter = a + b + c
print('三角形的周长为:', perimeter)
```
希望以上解答对您有帮助。
### 回答3:
要求从键盘输入三个点的二维坐标,来构成一个三角形,并计算出三角形的周长。
首先,我们需要依次从键盘输入三个点的坐标,并将它们保存起来。假设点A的坐标为 (x1, y1),点B的坐标为 (x2, y2),点C的坐标为 (x3, y3)。
计算三条边的长度:
- 点A到点B的距离为 AB = √((x2 - x1)² + (y2 - y1)²);
- 点B到点C的距离为 BC = √((x3 - x2)² + (y3 - y2)²);
- 点C到点A的距离为 CA = √((x1 - x3)² + (y1 - y3)²)。
计算三角形的周长:
将三条边的长度相加即可得到三角形的周长:perimeter = AB + BC + CA。
最后,我们将计算的结果输出,即得到了三角形的周长。
下面是一个示例代码:
```
import math
# 从键盘输入三个点的坐标
x1, y1 = map(float, input("请输入第一个点的坐标:").split())
x2, y2 = map(float, input("请输入第二个点的坐标:").split())
x3, y3 = map(float, input("请输入第三个点的坐标:").split())
# 计算三条边的长度
AB = math.sqrt((x2 - x1) ** 2 + (y2 - y1) ** 2)
BC = math.sqrt((x3 - x2) ** 2 + (y3 - y2) ** 2)
CA = math.sqrt((x1 - x3) ** 2 + (y1 - y3) ** 2)
# 计算三角形的周长
perimeter = AB + BC + CA
# 输出结果
print("三角形的周长为:", perimeter)
```
通过以上代码,我们可以输入三个点的坐标,计算得到三角形的周长,并将其输出。
使用matlib通过三个点画出二维坐标,并连接成三角形
可以使用Matplotlib的plot函数来绘制二维坐标系,再使用fill函数来填充三角形。
以下是一个示例代码:
```python
import matplotlib.pyplot as plt
# 三个点的坐标
x = [1, 2, 3]
y = [2, 4, 1]
# 绘制二维坐标系
plt.plot(x, y, 'o')
# 连接三个点
plt.plot([x[0], x[1]], [y[0], y[1]], 'k-')
plt.plot([x[1], x[2]], [y[1], y[2]], 'k-')
plt.plot([x[2], x[0]], [y[2], y[0]], 'k-')
# 填充三角形
plt.fill(x, y, alpha=0.2)
# 显示图形
plt.show()
```
这段代码会绘制出一个包含三个点和连接线的二维坐标系,并在三角形内填充颜色。你可以根据实际需求修改坐标值和颜色等参数。