输入三个坐标,判断是否构成三角形,若构成输出其面积,编写一C语言程序

 我来答
s443770865
2012-08-14 · 超过19用户采纳过TA的回答
知道答主
回答量:141
采纳率:0%
帮助的人:64.4万
展开全部
#include<stdio.h>
#include<math.h>
int result(int x1,int x2,int y1,int y2)
{
int x,y,res;
if(x1>x2)
x=x1-x2;
else
x=x2-x1;
if(y1>y2)
y=y1-y2;
else
y=y2-y1;
res=sqrt(x*x+y*y);//求每条边的长度
return res;
}
void main()
{
int a1,a2,b1,b2,c1,c2; //a1,a2对应着横竖坐标 b1,b2,c1,c2也是一样
int a3,b3,c3;
float p,s;
scanf("d%,d%,d%,d%,d%,d%",&a1,&a2,&b1,&b2,&c1,&c2);
a3=result(a1,b1,a2,b2);//一条边的长度
b3=result(a1,c1,a2,c2);
c3=result(b1,c1,b2,c2);
if(((a1==b1)&&(b1==c1)) || ((a2==b2)&&(b2==c2))) //构成不了三角形
printf("c%","error");
else
{
p=(a3+b3+c3)/2;
s=sqrt(p*(p-a3)*(p-b3)*(p-c3)); //面积公式
printf("f%\n",s);
}
}
香蕉1996
推荐于2018-01-29 · TA获得超过132个赞
知道小有建树答主
回答量:120
采纳率:100%
帮助的人:89.7万
展开全部
bool triangle_or_not=true;
double p1_x,p2_x,p3_x,p1_y,p2_y,p3_y;
cin>>p1_x>>p1_y;
cin>>p2_x>>p2_y;
cin>>p3_x>>p3_y;
double long12=sqrt((p1_x-p2_x)*(p1_x-p2_x)+(p1_y-p2_y)*(p1_y-p2_y));
double long13=sqrt((p1_x-p3_x)*(p1_x-p3_x)+(p1_y-p3_y)*(p1_y-p3_y));
double long32=sqrt((p3_x-p2_x)*(p3_x-p2_x)+(p3_y-p2_y)*(p3_y-p2_y));
//求出三点之间的距离
if(long12+long13==long32)
{
triangle_or_not=false;
}
if(long12+long32==long13)
{
triangle_or_not=false;
}
if(long32+long13==long12)
{
triangle_or_not=false;
}
//判断三点是否在同一直线上
if(triangle_or_not==true)
{
double a=long12;
double b=long13;
double c=long32;
double p=(a+b+c)/2;
double area=sqrt(p*(p-a)*(p-b)*(p-c));
cout<<"三角形面积为:"<<area<<endl;
}else{
cout<<"不构成三角形。"<<endl;
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
骞乐无穷
2012-08-14 · TA获得超过663个赞
知道小有建树答主
回答量:604
采纳率:0%
帮助的人:298万
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友9e6d11eef
2012-08-14 · TA获得超过1173个赞
知道小有建树答主
回答量:723
采纳率:0%
帮助的人:325万
展开全部
很简单 啊 只要证明三个坐标不在一条线上不就ok了
追问
这些我都知道,但是我要的是程序,C语言程序
追答
说的这么直白了  还写不出来程序  你是直接要代码的   我懒得写
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 3条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式