PTA——7-31 三角形判断

简介: PTA——7-31 三角形判断

7-31 三角形判断 (15分)

给定平面上任意三个点的坐标(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

分析:

1.两点间距离公式:

20210105145546109.png

2.海伦公式:

20210105144627922.png

3.斜率公式

20210105145304259.png

代码

#include<stdio.h>#include<math.h>intmain(){
doublex1,y1,x2,y2,x3,y3,l1,l2,l3,p,l,s;
scanf("%lf%lf%lf%lf%lf%lf",&x1,&y1,&x2,&y2,&x3,&y3);
//判断两条线是否平行,斜率是否相同if((y1-y2)/(x1-x2)!=(y2-y3)/(x2-x3)){
//两点之间距离公式 l1=sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2));
l2=sqrt((x2-x3)*(x2-x3)+(y2-y3)*(y2-y3));
l3=sqrt((x1-x3)*(x1-x3)+(y1-y3)*(y1-y3));
l=l1+l2+l3;
//海伦公式 p=(l1+l2+l3)/2;
s=sqrt(p*(p-l1)*(p-l2)*(p-l3));
printf("L = %.2f, A = %.2f",l,s);
     }elseprintf("Impossible");
return0;
}
目录
相关文章
|
6月前
【牛客网】BC51 三角形判断
【牛客网】BC51 三角形判断
38 0
|
6月前
|
C++
【PTA】​L1-002 打印沙漏 ​ (C++)
【PTA】​L1-002 打印沙漏 ​ (C++)
73 0
【PTA】​L1-002 打印沙漏 ​ (C++)
|
6月前
|
人工智能
PTA- 矩阵的主对角线元素之和
矩阵的主对角线元素之和
88 1
|
6月前
|
C++
[C++/PTA] 判断一个点是否在一个圆的内部
[C++/PTA] 判断一个点是否在一个圆的内部
76 0
|
算法 C++
剑指offer(C++)-JZ29:顺时针打印矩阵(算法-模拟)
剑指offer(C++)-JZ29:顺时针打印矩阵(算法-模拟)
三角形判断
三角形判断
80 0
|
机器学习/深度学习 Python
【每周一坑】输出三角形
如果输出固定长度对你来说太简单了,可以增加一个输入 n(n为正整数且 n>3),作为输出三角形第一行星号的数量。
|
算法 Python
【每周一坑】​计算100以内质数之和 +【解答】输出三角形
不过如果你有兴趣的话,可以进一步考虑一下你所用方法的算法复杂度是多少,看看谁的方法更简单。
【每日一题Day50】LC1812判断国际象棋棋盘中一个格子的颜色 | 找规律
【每日一题Day50】LC1812判断国际象棋棋盘中一个格子的颜色 | 找规律
75 0