C语言实现:求平面坐标系中简单四边形ABCD的面积。简单四边形是指边仅仅在顶点处相交。 输入格式: 依次给出4个顶点A、B、C、D的整数坐标,题目保证所有坐标的绝对值<10000。 输出格式: 输出四边形的面积(保留1位小数),题目。 输入样例: 在这里给出2组输入。例如: 0 0 0 1 1 1 1 0 1 2 3 4 5 6 7 8
时间: 2024-03-16 15:42:25 浏览: 32
以下是用 C 语言实现的代码:
```c
#include <stdio.h>
#include <math.h>
int main() {
int a[2], b[2], c[2], d[2]; // 存放4个点的坐标
double ab[2], bc[2], cd[2], da[2]; // 存放对边向量
double ac[2], bd[2]; // 存放对角线向量
double area; // 存放四边形面积
// 输入4个点的坐标
scanf("%d%d", &a[0], &a[1]);
scanf("%d%d", &b[0], &b[1]);
scanf("%d%d", &c[0], &c[1]);
scanf("%d%d", &d[0], &d[1]);
// 计算对边向量
ab[0] = b[0] - a[0];
ab[1] = b[1] - a[1];
bc[0] = c[0] - b[0];
bc[1] = c[1] - b[1];
cd[0] = d[0] - c[0];
cd[1] = d[1] - c[1];
da[0] = a[0] - d[0];
da[1] = a[1] - d[1];
// 计算对角线向量
ac[0] = c[0] - a[0];
ac[1] = c[1] - a[1];
bd[0] = d[0] - b[0];
bd[1] = d[1] - b[1];
// 计算四边形面积
area = fabs(ab[0]*ac[1] - ab[1]*ac[0] + bc[0]*bd[1] - bc[1]*bd[0]) / 2.0;
// 输出结果
printf("%.1f\n", area);
return 0;
}
```
其中,fabs() 函数用于返回一个浮点数的绝对值。
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)