用c语言编程求玉米亩产量 如图,有一块玉米地,位于一条东西向公路的北侧,南北向公路的东侧。第一个顶点距离南北路750米,东西路550米;第二个顶点距离南北路850米,东西路50米;第三个顶点距离南北路50米,东西路250;第四个顶点距离南北路150米,东西路450米。该块地种植玉米,收获的总产量为120吨,求玉米每亩产量为多少千克?要求编写程序求解该问题。  编程要求: 程序中至少要有两个函数,函数的功能如下: (1)编写函数计算两点之间的距离,从而算术图中四边形的四个边的长度以及一个对角线的长的; (2)根据海伦公式编写一个计算三角向面积的函数; 说明 1平方米=0.0015亩 输入格式: 一行中输入8个实数,每个数之间用空格隔开。从左到右每两个一组,每组表示一个点的横坐标和纵坐标。 输出格式: 输出一个实数,表示玉米的亩产量。输出保留2位小数。 输入样例: 750 550 850 50 50 250 150 450 输出样例: 326.53
时间: 2023-07-15 13:13:02 浏览: 140
以下是一种可能的 C 语言实现方式:
```c
#include <stdio.h>
#include <math.h>
// 计算两点之间的距离
double distance(double x1, double y1, double x2, double y2) {
double dx = x1 - x2;
double dy = y1 - y2;
return sqrt(dx * dx + dy * dy);
}
// 计算三角形面积(海伦公式)
double triangle_area(double a, double b, double c) {
double s = (a + b + c) / 2;
return sqrt(s * (s - a) * (s - b) * (s - 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 d1 = distance(x1, y1, x2, y2);
double d2 = distance(x2, y2, x3, y3);
double d3 = distance(x3, y3, x4, y4);
double d4 = distance(x4, y4, x1, y1);
double d5 = distance(x1, y1, x3, y3);
double d6 = distance(x2, y2, x4, y4);
// 计算四边形的面积
double area1 = triangle_area(d1, d2, d5);
double area2 = triangle_area(d3, d4, d6);
double area = area1 + area2;
// 计算玉米的亩产量
double yield = 120 / (area / 10000 / 0.0015);
printf("%.2f", yield);
return 0;
}
```
阅读全文