写一个程序,内容为输入三个点的坐标,计算以这三个点为顶点的三角形面积,并判断该三角形类型(等边/等腰
来源:学生作业帮助网 编辑:作业帮 时间:2024/04/29 18:03:31
写一个程序,内容为输入三个点的坐标,计算以这三个点为顶点的三角形面积,并判断该三角形类型(等边/等腰
写一个程序,内容为输入三个点的坐标,计算以这三个点为顶点的三角形面积,并判断该三角形类型(等边/等腰
写一个程序,内容为输入三个点的坐标,计算以这三个点为顶点的三角形面积,并判断该三角形类型(等边/等腰
//点的坐标最好用结构类型表示
typedef struct{
int x;
int y;
}Point;
//初始化点的坐标
void initPoint(Point &p,int px,int py) //符号&为C++中的引用
{
p.x=px;
p.y=py;
}
//也可以定义一个构造函数
void setPoint(Point &p)
{
printf("Input x of the point:");
scanf("%d",&p.x);
printf("Input y of the point:");
scanf("%d",&p.y);
}
//获取x的值
int getX(Point &p)
{
return p.x;
}
//获取y的值
int getY(Point &p)
{
return p.y;
}
//计算两个点的长度
float getLenth(Point &p1,Point &p2)
{
float lenth;
lenth=sqrt((p1.x-p2.x)*(p1.x-p2.x)+(p1.y-p2.y)*(p1.y-p2.y));
return lenth;
}
//计算三角形面积
float getArea(int lenth1,int lenth2,int lenth3)
{
unsigned tsin,tcos; //正弦、余弦的符号未知,故用unsigned定义
float area;
//使用正余弦定理求三角形面积
tcos=(lenth1*lenth1+lenth3*lenth3-lenth2*lenth2)/(2*lenth1*lenth3);
tsin=sqrt(1-tcos*tcos);
area=lenth1*lenth3*tsin/2;
return area;
}
大致需要的函数就是这些,你在根据需要做一些修改就OK了!若有不明白再问