编写程序,从键盘输入不在同一直线上的3个点的坐标值(x1,y1)、(x2,y2),(x3,y3),
编写程序,从键盘输入不在同一直线上的3个点的坐标值(x1,y1)、(x2,y2),(x3,y3),分别计算由这3个点组成的三角形的3条边长a、b、c,并利用公式计算三角形...
编写程序,从键盘输入不在同一直线上的3个点的坐标值(x1,y1)、(x2,y2),(x3,y3),分别计算由这3个点组成的三角形的3条边长a、b、c,并利用公式 计算三角形的面积。
展开
2个回答
展开全部
#include<stdio.h>
#include<math.h>
double fun(int x1, int y1, int x2, int y2)
{
double d;
d = sqrt((x1-x2)*(x1-x2) + (y1-y2)*(y1-y2));
return d;
}
int main()
{
int A[2] = {0}; // 定义点A,A[0]为横坐标,A[1]为纵坐标
int B[2] = {0};
int C[2] = {0};
double a, b, c;
double S; // 面积
double temp; // 周长一半
scanf("%d %d %d %d %d %d", &A[0], &A[1], &B[0], &B[1], &C[0], &C[1]);
// a = AB, b = BC, c = CA
a = fun(A[0], A[1], B[0], B[1]);
b = fun(B[0], B[1], C[0], C[1]);
c = fun(C[0], C[1], A[0], A[1]);
temp = (a+b+c) / 2;
S = sqrt(temp*(temp-a)*(temp-b)*(temp-c));
printf("a = %.2lf\n", a);
printf("b = %.2lf\n", b);
printf("c = %.2lf\n", c);
printf("S = %.2lf\n", S);
return 0;
}
更多追问追答
追问
厉害啊
追答
嘿嘿,一起努力~
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询