PTA 習題3 5 三角形判斷(c

2021-10-05 00:02:13 字數 1136 閱讀 3617

題目描述

給定平面上任意三個點的座標(x​1​​,y​1​​)、(x​2,y​2)、(x​3​,y​3),檢驗它們能否構成三角形。

輸入格式:

輸入在一行中順序給出六個[−100,100]範圍內的數字,即三個點的座標x​1、y​1、x​2、y​2、x3、y​3。

輸出格式:

若這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

思路

判斷是否能構成三角形的一點就是兩邊相加是否大於第三邊,若小於等於則一定不能構成三角形

已知三條邊求三角形面積可以用海**式:

p =a

+b+c

2(半周

長)

p=\frac (半周長)

p=2a+b

+c​(

半周長)

s =√

p(p−

a)(p

−b)(

p−c)

s=√p(p-a)(p-b)(p-c)

s=√p(p

−a)(

p−b)

(p−c

)**

#include

#include

intmain()

double l,a;

//周長 面積

double p;

//半周長

l=l1+l2+l3;

p=l/2;

a=sqrt

(p*(p-l1)

*(p-l2)

*(p-l3));

printf

("l = %.2f, a = %.2f"

,l,a)

;return0;

}

習題3 5 三角形判斷 15分

給定平面上任意三個點的座標 x 1,y1 x 2,y 2 x 3,y 3 檢驗它們能否構成三角形。輸入格式 輸入在一行中順序給出六個 100,100 範圍內的數字,即三個點的座標x 1 y1 x2 y2 x 3 y3。輸出格式 若這3個點不能構成三角形,則在一行中輸出 impossible 若可以,...

習題3 5 三角形判斷 15分

給定平面上任意三個點的座標 x1,y1 x2,y2 x3,y3 檢驗它們能否構成三角形。輸入格式 輸入在一行中順序給出六個 100,100 100,100 100,100 範圍內的數字,即三個點的座標 x1 y1 x2 y2 x3 y3 輸出格式 若這3個點不能構成三角形,則在一行中輸出 impos...

習題3 5 三角形判斷 15分

感覺這道題其實是考只知道三角形三個點的座標然後求周長和面積的。其中有個求面積的公示叫做海 式 p a b c 在這裡插入描述 以下是我寫的 include double far double a,double b,double c,double d int main else printf impo...