判斷是否是直角三角形的演算法研究

2021-06-23 05:21:08 字數 781 閱讀 9817

任意給出3點座標(平面),判斷是否構成直角三角形。

我的想法:首先計算出三條邊的長度,再判斷是否滿足三角形要求,若滿足再判斷是否是直角三角形

主要問題:在計算各邊長時,必然要開方,導致不精確,這會導致判斷是否為直角三角形時出錯。

我的解決辦法:在判斷是否直角三角形是並不一定需要每條邊的長度,知道其平方也可以,於是在計算沒邊長度的時候不開方就能解決直角判斷問題。

還有的問題:但是仍然要先判斷其是否是三角形,此時就需要每條邊的具體長度,雖然此時對精度要求不是很高,但當遇到一些特意設計的資料時可能會處錯誤。鑑於此,鄙人特拿來與諸兄研究研究。

#include"stdio.h"

#include"math.h"

double fun0(double x1,double y1,double x2,double y2);

int fun1(double a,double b,double c);

int fun2(double a,double b,double c);

int main()

//計算兩點距離

double fun0(double x1,double y1,double x2,double y2)

//判斷是否三角

int fun1(double a,double b,double c)

{ //有誤差沒關係,但還是需要改進

a=sqrt(a);

b=sqrt(b);

c=sqrt(c);

if(a+b>c&&a+c>b&&b+c>a&&a-b

正直角三角形

在平面直角座標系的第一象限內有m個點。正直角三角形 是一種奇特的三角形,它的三個頂點分別在原點 x軸的正方向和y軸的正方向。請用乙個面積最小的 正直角三角形 將這些點全部圍住,求解面積的大小。題目中所有的座標 包括正直角三角形的頂點座標 都為整數。input 1 m,xi,yi 100 每行乙個答案...

模擬 直角三角形

平面上給定n個兩兩不同的整點,統計以給定的點為頂點,且直角邊平行於座標軸的直角三角形數。輸入格式 輸入檔案right.in第一行為乙個整數n。以下n行,每行給出乙個點的座標。輸出格式 輸出檔名為right.out。輸出乙個整數表示統計結果。輸入樣例 1 0 0 0 11 0 1 1 輸出樣例 1 4...

直角三角形求斜邊

1 1 分數 題目描述 請編寫程式計算直角三角形的斜邊長度,兩條直角邊的長度由鍵盤輸入。輸入描述兩直角邊均為浮點型 float 中間以乙個空格隔開 輸出描述輸出斜邊長度,保留小數點後5位 樣例輸入 3 4樣例輸出 5.00000 1 1 分數 題目描述 請編寫程式計算直角三角形的斜邊長度,兩條直角邊...