用C语言如图,有一块玉米地,位于一条东西向公路的北侧,南北向公路的东侧。第一个顶点距离南北路750米,东西路550米;第二个顶点距离南北路850米,东西路50米;第三个顶点距离南北路50米,东西路250;第四个顶点距离南北路150米,东西路450米。该块地种植玉米,收获的总产量为120吨,求玉米每亩产量为多少千克?要求编写程序求解该问题。 area.jpg 编程要求: 程序中至少要有两个函数,函数的功能如下: (1)编写函数计算两点之间的距离,从而算术图中四边形的四个边的长度以及一个对角线的长的; (2)根据海伦公式编写一个计算三角向面积的函数;
时间: 2023-06-26 07:06:38 浏览: 170
下面是用C语言实现的程序,其中包括两个函数:calcDistance(计算两点之间的距离)和calcArea(根据海伦公式计算三角形面积)。
```
#include <stdio.h>
#include <math.h>
// 计算两点之间的距离
double calcDistance(int x1, int y1, int x2, int y2) {
return sqrt(pow(x1-x2, 2) + pow(y1-y2, 2));
}
// 根据海伦公式计算三角形面积
double calcArea(double a, double b, double c) {
double s = (a + b + c) / 2.0;
return sqrt(s * (s-a) * (s-b) * (s-c));
}
int main() {
// 四个点的坐标
int x1 = 550, y1 = 750;
int x2 = 50, y2 = 850;
int x3 = 250, y3 = 50;
int x4 = 450, y4 = 150;
// 计算四边形的四条边长和对角线长
double a = calcDistance(x1, y1, x2, y2);
double b = calcDistance(x2, y2, x3, y3);
double c = calcDistance(x3, y3, x4, y4);
double d = calcDistance(x4, y4, x1, y1);
double e = calcDistance(x1, y1, x3, y3);
// 计算三角形ABC的面积
double s1 = calcArea(a, b, e);
// 计算三角形ACD的面积
double s2 = calcArea(c, d, e);
// 计算四边形的面积
double area = s1 + s2;
// 计算每亩产量
double yield = 120 * 1000 / area;
printf("玉米每亩产量为%.2f千克\n", yield);
return 0;
}
```
阅读全文