欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C語言輸入三角形邊長判斷其類型并輸出面積實例代碼

 更新時間:2018年01月17日 11:38:53   作者:Longshihua  
這篇文章主要介紹了C語言輸入三角形邊長判斷其類型并輸出面積實例代碼,具有一定借鑒價值,需要的朋友可以參考下

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

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

相關知識:

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

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

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

等邊三角形:等邊三角形(又稱正三角形),為三邊相等的三角形,其三個內角相等,均為60°,它是銳角三角形的一種。等邊三角形也是最穩(wěn)定的結構。等邊三角形是特殊的等腰三角形,所以等邊三角形擁有等腰三角形的一切性質。

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

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

計算面積方式:使用邊長進行計算

1:計算三角形的半周長。半周長等于圖形周長的一半。想算出三角形的半周長,需要先將三角形的三條邊長加起來求出周長,然后乘以1/2;

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

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

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

void decideTrangleType(){ 
 
  float a,b,c; //定義 a,b,c為三條邊 
  float s,area; 
   
  printf("請輸入三角形的三條邊:\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;           //計算半周長 
    area = sqrt(s*(s-a)*(s-b)*(s-c)); //計算三角形面積 
    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("不能構成三角形\n"); 
  } 
} 

相關測試數(shù)據(jù):

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

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

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

3 610
不能構成三角形

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

總結

以上就是本文關于C語言輸入三角形邊長判斷其類型并輸出面積實例代碼的全部內容,希望對大家有所幫助。感興趣的朋友可以繼續(xù)參閱本站其他相關專題,如有不足之處,歡迎留言指出。感謝朋友們對本站的支持!

相關文章

  • 詳解C語言如何執(zhí)行HTTP GET請求

    詳解C語言如何執(zhí)行HTTP GET請求

    在現(xiàn)代互聯(lián)網(wǎng)時代,網(wǎng)絡數(shù)據(jù)的獲取和分析變得越來越重要,本文我們將使用C語言和libcurl庫來編寫一個簡單的網(wǎng)絡爬蟲,以執(zhí)行HTTP GET請求并獲取淘寶網(wǎng)頁的內容,感興趣的可以了解下
    2023-11-11
  • C++ 關于 CMFCPropertyGridCtrl 的使用方法

    C++ 關于 CMFCPropertyGridCtrl 的使用方法

    這篇文章主要介紹了C++ 關于 CMFCPropertyGridCtrl 的使用方法的相關資料,需要的朋友可以參考下
    2015-06-06
  • 紅黑樹的使用詳解

    紅黑樹的使用詳解

    本篇文章是對紅黑樹的使用詳解。需要的朋友參考下
    2013-05-05
  • C++中字符串以及數(shù)組和指針的互相使用講解

    C++中字符串以及數(shù)組和指針的互相使用講解

    這篇文章主要介紹了C++中字符串以及數(shù)組和指針的互相使用講解,是C++入門學習中的基礎知識,需要的朋友可以參考下
    2015-09-09
  • 淺析C/C++中sort函數(shù)的用法

    淺析C/C++中sort函數(shù)的用法

    做項目的時候,排序是一種經(jīng)常要用到的操作。如果每次都自己寫個冒泡之類的O(n^2)排序,不但程序容易超時,而且浪費寶貴的時間,還很有可能寫錯。STL里面有個sort函數(shù),可以直接對數(shù)組排序,復雜度為n*log2(n)。
    2014-09-09
  • C++實現(xiàn)尋找最低公共父節(jié)點的方法

    C++實現(xiàn)尋找最低公共父節(jié)點的方法

    這篇文章主要介紹了C++實現(xiàn)尋找最低公共父節(jié)點的方法,是數(shù)據(jù)結構中二叉樹的一個經(jīng)典算法,有一定的借鑒價值,需要的朋友可以參考下
    2014-09-09
  • C++帶頭雙向循環(huán)鏈表超詳細解析

    C++帶頭雙向循環(huán)鏈表超詳細解析

    帶頭雙向循環(huán)鏈表:結構最復雜,一般用在單獨存儲數(shù)據(jù)。實際中使用的鏈表數(shù)據(jù)結構,都是帶頭雙向循環(huán)鏈表。另外這個結構雖然結構復雜,但是使用代碼實現(xiàn)以后會發(fā)現(xiàn)結構會帶來很多優(yōu)勢,實現(xiàn)反而簡單
    2022-03-03
  • C++詳解如何實現(xiàn)動態(tài)數(shù)組

    C++詳解如何實現(xiàn)動態(tài)數(shù)組

    這篇文章主要為大家詳細介紹了C++實現(xiàn)動態(tài)數(shù)組的方法,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-06-06
  • C++ 中boost::share_ptr智能指針的使用方法

    C++ 中boost::share_ptr智能指針的使用方法

    這篇文章主要介紹了C++ 中boost::share_ptr智能指針的使用方法的相關資料,希望通過本文能幫助到大家,需要的朋友可以參考下
    2017-10-10
  • C++實現(xiàn)基于控制臺界面的吃豆子游戲

    C++實現(xiàn)基于控制臺界面的吃豆子游戲

    這篇文章主要介紹了C++實現(xiàn)基于控制臺界面的吃豆子游戲,實例分析了吃豆子游戲的原理與C++實現(xiàn)技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-04-04

最新評論