浙大版《C語言程式設計(第3版)》題目集 習題3-5 三角形判斷
阿新 • • 發佈:2020-10-14
- - -》博主推薦,學生黨、程式設計師必備,點選檢視- - - >>>>>
熱門文章推薦
以下50道演算法程式設計題訪問量較大,包含常用語法,資料結構,解題思路等等,作為C語言學習者必練題目推薦給各位。創作不易,記得一鍵三連哦!!!
習題3-5 三角形判斷
給定平面上任意三個點的座標(x~1~,y~1~)、(x~2~,y~2~)、(x~3~,y~3~),檢驗它們能否構成三角形。
輸入格式:
輸入在一行中順序給出六個[−100,100]範圍內的數字,即三個點的座標x~1~、y~1~、x~2~、y~2~、x~3~、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
程式碼:
#include<stdio.h>
#include<math.h>
double fun(double x1,double y1,double x2,double y2)
{
double temp1=x1-x2;
double temp2=y1-y2;
return sqrt(temp1*temp1+temp2*temp2);
}
int main()
{
double x1,y1;
double x2,y2;
double x3,y3;
scanf("%lf %lf %lf %lf %lf %lf",&x1,&y1,&x2,&y2,&x3,&y3);
double lon1=fun(x1,y1,x2,y2);
double lon2=fun(x2,y2,x3,y3);
double lon3=fun(x3,y3,x1,y1);
if(lon1+lon2>lon3&&lon1+lon3>lon2&&lon2+lon3>lon1)
{
double p=(lon1+lon2+lon3)/2.0;
double A=sqrt(p*(p-lon1)*(p-lon2)*(p-lon3));
printf("L = %.2lf, A = %.2lf\n",lon1+lon2+lon3,A);
}
else printf("Impossible\n");
return 0;
}
//定義:x1,y1,----x3,y3時,型別double int 出錯
公眾號推薦:計算機類畢業設計系統原始碼,IT技術文章分享,遊戲原始碼,網頁模板
小程式推薦:網站資源快速收錄--百度API網頁提交助手,操作簡單,效率高