个人网站系统,做网站补贴,可信赖的南昌网站建设,廊坊哪里做网站习题3-5 三角形判断 给定平面上任意三个点的坐标(x1,y1)、(x2,y2)、(x3,y3)#xff0c;检验它们能否构成三角形。 输入格式: 输入在一行中顺序给出六个[−100,100]范围内的数字#xff0c;即三个点的坐标x1、y1、x2、y2、x3、y3。 输出格式: 若这3个… 习题3-5 三角形判断 给定平面上任意三个点的坐标(x1,y1)、(x2,y2)、(x3,y3)检验它们能否构成三角形。 输入格式: 输入在一行中顺序给出六个[−100,100]范围内的数字即三个点的坐标x1、y1、x2、y2、x3、y3。 输出格式: 若这3个点不能构成三角形则在一行中输出“Impossible”若可以则在一行中输出该三角形的周长和面积格式为“L 周长, A 面积”输出到小数点后2位。 输入样例1: 4 5 6 9 7 8输出样例1: L 10.13, A 3.00输入样例2: 4 6 8 12 12 18输出样例2: Impossible代码长度限制 16 KB 时间限制 200 ms 内存限制 64 MB 代码如下
#include stdio.h
#include math.h// 定义一个函数用于计算两点之间的距离
double dist( double x1, double y1, double x2, double y2 ){double julix,juliy;julix fabs(x1-x2); // 计算x轴上的距离juliy fabs(y1-y2); // 计算y轴上的距离return sqrt(pow(julix,2)pow(juliy,2)); // 返回两点之间的距离
}int main(){double x1,y1,x2,y2,x3,y3,a,b,c,l,area,p;scanf(%lf %lf %lf %lf %lf %lf,x1,y1,x2,y2,x3,y3); // 输入三个点的坐标adist(x1,y1,x2,y2); // 计算第一条边的长度bdist(x1,y1,x3,y3); // 计算第二条边的长度cdist(x3,y3,x2,y2); // 计算第三条边的长度if(abccbaacb){ // 判断这三条边是否能构成一个三角形labc; // 计算三角形的周长pl/2; // 计算三角形的半周长areasqrt(p*(p-a)*(p-b)*(p-c)); // 根据海伦公式计算三角形的面积printf(L %.2f, A %.2f,l,area); // 输出三角形的周长和面积}else{printf(Impossible); // 如果不能构成三角形输出Impossible}
}