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;
}
目录
相关文章
|
8月前
【牛客网】BC51 三角形判断
【牛客网】BC51 三角形判断
47 0
|
8月前
|
算法
LeetCode算法题---最长回文子串、N 字形变换(四)
LeetCode算法题---最长回文子串、N 字形变换(四)
46 0
|
8月前
【每日一题Day114】LC1223 掷骰子模拟 | 记忆化搜索+dp
【每日一题Day114】LC1223 掷骰子模拟 | 记忆化搜索+dp
64 0
|
8月前
|
Java
每日一题《剑指offer》数组篇之顺时针打印矩阵
每日一题《剑指offer》数组篇之顺时针打印矩阵
64 0
每日一题《剑指offer》数组篇之顺时针打印矩阵
|
8月前
【每日一题Day247】LC1401圆和矩形是否有重叠 | 数学
【每日一题Day247】LC1401圆和矩形是否有重叠 | 数学
55 0
|
8月前
|
C++
[C++/PTA] 判断一个点是否在一个圆的内部
[C++/PTA] 判断一个点是否在一个圆的内部
89 0
|
8月前
|
测试技术 C++
[C++/PTA] 多边形周长计算(继承)
[C++/PTA] 多边形周长计算(继承)
141 0
|
算法 C++
剑指offer(C++)-JZ29:顺时针打印矩阵(算法-模拟)
剑指offer(C++)-JZ29:顺时针打印矩阵(算法-模拟)
|
人工智能 算法 BI
【LeetCode——编程能力入门第二天】运算符(三角形的最大周长(贪心算法)/找到最近的有相同 X 或 Y 坐标的点)
给定由一些正数(代表长度)组成的数组 nums ,返回 由其中三个长度组成的、面积不为零的三角形的最大周长 。如果不能形成任何面积不为零的三角形,返回 0。
134 0
|
算法
算法练习题(七)——顺时针打印二维数组
算法练习题(七)——顺时针打印二维数组
121 0