溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

C語(yǔ)言輸入三角形邊長(zhǎng)判斷其類(lèi)型并輸出面積實(shí)例代碼

發(fā)布時(shí)間:2020-09-27 04:08:22 來(lái)源:腳本之家 閱讀:243 作者:Longshihua 欄目:編程語(yǔ)言

本文主要研究的是輸入三角形邊長(zhǎng)判斷其類(lèi)型并輸出面積,用C語(yǔ)言實(shí)現(xiàn),具體如下。

思路:首先判斷所給的三條邊是否能夠組成三角形,若可以組成三角形,則判斷該三角形是什么類(lèi)型,并求三角形的面積。

相關(guān)知識(shí):

三角形是由同一平面內(nèi)不在同一直線上的三條線段‘首尾'順次連接所組成的封閉圖形。常見(jiàn)的三角形按邊分有普通三角形(三條邊都不相等),等腰三角(腰與底不等的等腰三角形、腰與底相等的等腰三角形即等邊三角形)

不等邊三角形:不等邊三角形,數(shù)學(xué)定義,指的是三條邊都不相等的三角形叫不等邊三角形。

等腰三角形:等腰三角形(isosceles triangle),指兩邊相等的三角形,相等的兩個(gè)邊稱(chēng)為這個(gè)三角形的腰。等腰三角形中,相等的兩條邊稱(chēng)為這個(gè)三角形的腰,另一邊叫做底邊。兩腰的夾角叫做頂角,腰和底邊的夾角叫做底角。等腰三角形的兩個(gè)底角度數(shù)相等(簡(jiǎn)寫(xiě)成“等邊對(duì)等角”)。等腰三角形的頂角的平分線,底邊上的中線,底邊上的高重合(簡(jiǎn)寫(xiě)成“等腰三角形的三線合一性質(zhì)”)。等腰三角形的兩底角的平分線相等(兩條腰上的中線相等,兩條腰上的高相等)。等腰三角形底邊上的垂直平分線到兩條腰的距離相等。等腰三角形的一腰上的高與底邊的夾角等于頂角的一半。等腰三角形底邊上任意一點(diǎn)到兩腰距離之和等于一腰上的高(需用等面積法證明)。等腰三角形是軸對(duì)稱(chēng)圖形,(不是等邊三角形的情況下)只有一條對(duì)稱(chēng)軸,頂角平分線所在的直線是它的對(duì)稱(chēng)軸,等邊三角形有三條對(duì)稱(chēng)軸。等腰三角形中腰的平方等于高的平方加底的一半的平方。等腰三角形的腰與它的高的關(guān)系,直接的關(guān)系是:腰大于高。間接的關(guān)系是:腰的平方等于高的平方加底的一半的平方。

等邊三角形:等邊三角形(又稱(chēng)正三角形),為三邊相等的三角形,其三個(gè)內(nèi)角相等,均為60°,它是銳角三角形的一種。等邊三角形也是最穩(wěn)定的結(jié)構(gòu)。等邊三角形是特殊的等腰三角形,所以等邊三角形擁有等腰三角形的一切性質(zhì)。

直角三角形:有一個(gè)角為直角的三角形稱(chēng)為直角三角形。在直角三角形中,直角相鄰的兩條邊稱(chēng)為直角邊。直角所對(duì)的邊稱(chēng)為斜邊。若a的平方+b的平方=c的平方,則以a、b、c為邊的三角形是以c為斜邊的直角三角形(勾股定理的逆定理)。

判斷三條線段能否組成三角形的依據(jù)是三角形三邊關(guān)系的定理:“三角形任何兩邊的和大于第三邊”和它的推論:“三角形任何兩邊的差小于第三邊”。

計(jì)算面積方式:使用邊長(zhǎng)進(jìn)行計(jì)算

1:計(jì)算三角形的半周長(zhǎng)。半周長(zhǎng)等于圖形周長(zhǎng)的一半。想算出三角形的半周長(zhǎng),需要先將三角形的三條邊長(zhǎng)加起來(lái)求出周長(zhǎng),然后乘以1/2;

2:用海倫公式求三角形面積。海倫公式如下:

C語(yǔ)言輸入三角形邊長(zhǎng)判斷其類(lèi)型并輸出面積實(shí)例代碼

具體實(shí)現(xiàn)和分析:

通過(guò)輸入三角形的三條邊,首先判斷兩邊之和是否大于第三邊,若大于第三邊則進(jìn)一步判斷該三角形是什么三角形,3邊相等為等邊三角形,兩邊相等為等腰三角形,滿足兩邊平方之和等于第三邊的平方即是直角三角形,其余為普通三角形,否則輸入的三角形不能夠組成三角形。

void decideTrangleType(){ 
 
  float a,b,c; //定義 a,b,c為三條邊 
  float s,area; 
   
  printf("請(qǐng)輸入三角形的三條邊:\n"); 
  rewind(stdin);//清空緩存區(qū)的所有數(shù)據(jù) 
  scanf("%f%f%f",&a,&b,&c); 
   
  if (a+b>c && b+c>a && a+c>b) {     //判斷兩邊之和是否大于第三邊 
    s = (a+b+c)/2;           //計(jì)算半周長(zhǎng) 
    area = sqrt(s*(s-a)*(s-b)*(s-c)); //計(jì)算三角形面積 
    printf("面積是:%f",area); 
    if (a==b && a==c) {         //判斷三條邊是否相等 
      printf("等邊三角形\n"); 
    }else if (a==b || a==c || b==c){  //判斷是否有兩條邊相等 
      printf("等腰三角形\n"); 
    }else if(a*a + b*b == c*c || a*a + c*c == b*b || b*b + c*c == a*a){ //判斷是否兩邊平方之和等于第三邊的平方 
      printf("直角三角形\n"); 
    }else{ 
      printf("普通三角形\n"); 
    } 
  }else{ 
    printf("不能構(gòu)成三角形\n"); 
  } 
} 

相關(guān)測(cè)試數(shù)據(jù):

Hello, World!
請(qǐng)輸入三角形的三條邊:
3 45
面積是:6.000000直角三角形

3 33
面積是:3.897114等邊三角形

3 43
面積是:4.472136等腰三角形

3 610
不能構(gòu)成三角形

7 8 9
面積是:26.832815普通三角形

總結(jié)

以上就是本文關(guān)于C語(yǔ)言輸入三角形邊長(zhǎng)判斷其類(lèi)型并輸出面積實(shí)例代碼的全部?jī)?nèi)容,希望對(duì)大家有所幫助。感興趣的朋友可以繼續(xù)參閱本站其他相關(guān)專(zhuān)題,如有不足之處,歡迎留言指出。感謝朋友們對(duì)本站的支持!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI