用c语言编写7-3 求玉米亩产量 如图,有一块玉米地,位于一条东西向公路的北侧,南北向公路的东侧。第一个顶点距离南北路750米,东西路550米;第二个顶点距离南北路850米,东西路50米;第三个顶点距离南北路50米,东西路250;第四个顶点距离南北路150米,东西路450米。该块地种植玉米,收获的总产量为120吨,求玉米每亩产量为多少千克?要求编写程序求解该问题。 area.jpg 编程要求: 程序中至少要有两个函数,函数的功能如下: (1)编写函数计算两点之间的距离,从而算术图中四边形的四个边的长度以及一个对角线的长的; (2)根据海伦公式编写一个计算三角向面积的函数; 说明 1平方米=0.0015亩 输入格式: 一行中输入8个实数,每个数之间用空格隔开。从左到右每两个一组,每组表示一个点的横坐标和纵坐标。 输出格式: 输出一个实数,表示玉米的亩产量。输出保留2位小数。
时间: 2023-06-25 07:07:29 浏览: 275
以下是用 C 语言编写的程序:
```c
#include <stdio.h>
#include <math.h>
// 计算两点之间的距离
double distance(double x1, double y1, double x2, double y2) {
return sqrt(pow(x1 - x2, 2) + pow(y1 - y2, 2));
}
// 计算三角形面积
double triangle_area(double a, double b, double c) {
double p = (a + b + c) / 2;
return sqrt(p * (p - a) * (p - b) * (p - c));
}
int main() {
// 输入四个点的坐标
double x1, y1, x2, y2, x3, y3, x4, y4;
scanf("%lf %lf %lf %lf %lf %lf %lf %lf", &x1, &y1, &x2, &y2, &x3, &y3, &x4, &y4);
// 计算四边形各边长和对角线长
double a = distance(x1, y1, x2, y2);
double b = distance(x2, y2, x3, y3);
double c = distance(x3, y3, x4, y4);
double d = distance(x1, y1, x4, y4);
double e = distance(x1, y1, x3, y3);
// 计算三角形面积并累加
double area = triangle_area(a, b, e) + triangle_area(c, d, e);
// 计算亩产量
double yield = 120 / (area * 0.0015);
// 输出结果
printf("%.2lf", yield);
return 0;
}
```
程序中定义了两个函数 `distance` 和 `triangle_area`,分别用于计算两点之间的距离和三角形面积。在 `main` 函数中,先输入四个点的坐标,然后用 `distance` 函数计算各边长和对角线长,再用 `triangle_area` 函数计算三角形面积并累加,最后用公式计算亩产量并输出结果。
阅读全文