C语言,求三角形面积:从键盘输入三个顶点坐标(x1,y1)(x2,y2)(x3,y3)假设可能构成

C语言,求三角形面积:从键盘输入三个顶点坐标(x1,y1)(x2,y2)(x3,y3)假设可能构成从键盘输入三个顶点坐标(x1,y1)(x2,y2)(x3,y3)假设可能... C语言,求三角形面积:从键盘输入三个顶点坐标(x1,y1)(x2,y2)(x3,y3)假设可能构成从键盘输入三个顶点坐标(x1,y1)(x2,y2)(x3,y3)假设可能构成三角形,计算三角形面积。三角形面积的计算公式:√s(s-a)(s-b)(s-c),abc为三角形边长,s为周长的一半。
输入形式:三行,每行两个实数,为一个顶点的坐标。
输出形式:一个实数,为三角形面积。结果保留两位小数。
(刚学程序,不会打,还望大神相助!)
展开
 我来答
Polaris北斗
推荐于2018-02-28 · TA获得超过3204个赞
知道大有可为答主
回答量:2530
采纳率:79%
帮助的人:815万
展开全部

#include

#include

float dis(float x1,float y1,float x2,float y2)
{
float dx,dy;
dx=x1-x2;dy=y1-y2;
return sqrt(dx*dx+dy*dy);
}
int main()
{
float x1,x2,x3,y1,y2,y3,p,s,a,b,c;

scanf("%f %f",&x1,&y1);
scanf("%f %f",&x2,&y2);
scanf("%f %f",&x3,&y3);

a=dis(x1,y1,x2,y2);
b=dis(x2,y2,x3,y3);
c=dis(x1,y1,x3,y3);
p=(a+b+c)/2;

s=sqrt(p*(p-a)*(p-b)*(p-c));
printf("%f\n",s);
return 0;
}

运行结果

追答
#include 
#include
头上两勾:
物理公司的
2016-10-19 · TA获得超过5695个赞
知道大有可为答主
回答量:6105
采纳率:86%
帮助的人:1363万
展开全部
//三个顶点坐标是6个参数帆嫌。。。

#include <stdio.h> 
#include <math.h>

double S_triangle(double ax,double ay,double bx,double by,double cx,double cy)
{
 double mx=cx-ax,my=cy-ay,nx=bx-ax,ny=by-ay;
 double Lm= sqrt(mx*mx+my*my),Ln= sqrt(nx*nx+ny*ny),cosA=(mx*nx+my*ny)/Lm/Ln;
 double sinA=sqrt(1-cosA*cosA);
 double S_tri=0.5*Lm*Ln*sinA;
 if(S_tri>=0)return S_tri;
 else return (-1*S_tri);
}

void main() 

 double S_tri,ax,ay,bx,by,cx,cy;
 拦尘ax=1;
 ay=1;//第一个点的横纵坐标
 bx=2;
 by=2;//第二个点的横纵坐标
 cx=1;
 cy=2;//第三个点的横纵坐标
 S_tri=S_triangle(ax,ay,bx,by,cx,cy);
 态衡手printf("S_triangle=%lf",S_tri);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
千风瑛绿
2017-10-20
知道答主
回答量:68
采纳率:50%
帮助的人:5.6万
展开全部
#include <stdio.h>前顷仔
#include <math.h>

double S_triangle(double ax,double ay,double bx,double by,double cx,double cy)
{
double mx=cx-ax,my=cy-ay,nx=bx-ax,ny=by-ay;
double Lm= sqrt(mx*mx+my*my),Ln= sqrt(nx*nx+ny*ny),cosA=(mx*nx+my*ny)/Lm/Ln;
double sinA=sqrt(1-cosA*cosA);
double S_tri=0.5*Lm*Ln*sinA;
if(S_tri>=0)return S_tri;
else return (-1*S_tri);
}

void main()
{
double S_tri,ax,ay,bx,by,cx,cy;
ax=1;
ay=1;//第一个点的横纵坐标
bx=2;
by=2;//第二个点的横乎蚂纵坐标
cx=1;
cy=2;//第三个点的横纵坐标慧汪
S_tri=S_triangle(ax,ay,bx,by,cx,cy);
printf("S_triangle=%lf",S_tri);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式