这样行不行
#include <stdio.h>
#include <math.h>
typedef struct node
{
float x;
float y;
}Node;
int main()
{
Node n[3];
double p[3];
double S, L;
for(int i=0; i<3; ++i)
{
printf("输入第%d个点的(x, y)坐标值:", i+1);
scanf("%f%f",&n[i].x, &n[i].y);
}
void Get_Len(Node n1, Node n2, double &p);
Get_Len(n[0], n[1], p[0]);
Get_Len(n[1], n[2], p[1]);
Get_Len(n[2], n[0], p[2]);
L =
1.0/2*(p[0]+p[1]+p[2]);
注意下这里就OK啦
S = sqrt(L*(L-p[0])*(L-p[1])*(L-p[2]));
printf("三角形的面积为: %.2f\n", S);
return 0;
}
void Get_Len(Node n1, Node n2, double &p)
{
p = sqrt( pow(n1.x-n2.x,2) + pow(n1.y-n2.y,2) );
}