C語言輸入三角形邊長判斷其類型并輸出面積實(shí)例代碼
本文主要研究的是輸入三角形邊長判斷其類型并輸出面積,用C語言實(shí)現(xiàn),具體如下。
思路:首先判斷所給的三條邊是否能夠組成三角形,若可以組成三角形,則判斷該三角形是什么類型,并求三角形的面積。
相關(guān)知識(shí):
三角形是由同一平面內(nèi)不在同一直線上的三條線段‘首尾'順次連接所組成的封閉圖形。常見的三角形按邊分有普通三角形(三條邊都不相等),等腰三角(腰與底不等的等腰三角形、腰與底相等的等腰三角形即等邊三角形)
不等邊三角形:不等邊三角形,數(shù)學(xué)定義,指的是三條邊都不相等的三角形叫不等邊三角形。
等腰三角形:等腰三角形(isosceles triangle),指兩邊相等的三角形,相等的兩個(gè)邊稱為這個(gè)三角形的腰。等腰三角形中,相等的兩條邊稱為這個(gè)三角形的腰,另一邊叫做底邊。兩腰的夾角叫做頂角,腰和底邊的夾角叫做底角。等腰三角形的兩個(gè)底角度數(shù)相等(簡寫成“等邊對(duì)等角”)。等腰三角形的頂角的平分線,底邊上的中線,底邊上的高重合(簡寫成“等腰三角形的三線合一性質(zhì)”)。等腰三角形的兩底角的平分線相等(兩條腰上的中線相等,兩條腰上的高相等)。等腰三角形底邊上的垂直平分線到兩條腰的距離相等。等腰三角形的一腰上的高與底邊的夾角等于頂角的一半。等腰三角形底邊上任意一點(diǎn)到兩腰距離之和等于一腰上的高(需用等面積法證明)。等腰三角形是軸對(duì)稱圖形,(不是等邊三角形的情況下)只有一條對(duì)稱軸,頂角平分線所在的直線是它的對(duì)稱軸,等邊三角形有三條對(duì)稱軸。等腰三角形中腰的平方等于高的平方加底的一半的平方。等腰三角形的腰與它的高的關(guān)系,直接的關(guān)系是:腰大于高。間接的關(guān)系是:腰的平方等于高的平方加底的一半的平方。
等邊三角形:等邊三角形(又稱正三角形),為三邊相等的三角形,其三個(gè)內(nèi)角相等,均為60°,它是銳角三角形的一種。等邊三角形也是最穩(wěn)定的結(jié)構(gòu)。等邊三角形是特殊的等腰三角形,所以等邊三角形擁有等腰三角形的一切性質(zhì)。
直角三角形:有一個(gè)角為直角的三角形稱為直角三角形。在直角三角形中,直角相鄰的兩條邊稱為直角邊。直角所對(duì)的邊稱為斜邊。若a的平方+b的平方=c的平方,則以a、b、c為邊的三角形是以c為斜邊的直角三角形(勾股定理的逆定理)。
判斷三條線段能否組成三角形的依據(jù)是三角形三邊關(guān)系的定理:“三角形任何兩邊的和大于第三邊”和它的推論:“三角形任何兩邊的差小于第三邊”。
計(jì)算面積方式:使用邊長進(jìn)行計(jì)算
1:計(jì)算三角形的半周長。半周長等于圖形周長的一半。想算出三角形的半周長,需要先將三角形的三條邊長加起來求出周長,然后乘以1/2;
2:用海倫公式求三角形面積。海倫公式如下:

具體實(shí)現(xiàn)和分析:
通過輸入三角形的三條邊,首先判斷兩邊之和是否大于第三邊,若大于第三邊則進(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ì)算半周長
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)測試數(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語言輸入三角形邊長判斷其類型并輸出面積實(shí)例代碼的全部內(nèi)容,希望對(duì)大家有所幫助。感興趣的朋友可以繼續(xù)參閱本站其他相關(guān)專題,如有不足之處,歡迎留言指出。感謝朋友們對(duì)本站的支持!
相關(guān)文章
詳解C語言如何執(zhí)行HTTP GET請(qǐng)求
在現(xiàn)代互聯(lián)網(wǎng)時(shí)代,網(wǎng)絡(luò)數(shù)據(jù)的獲取和分析變得越來越重要,本文我們將使用C語言和libcurl庫來編寫一個(gè)簡單的網(wǎng)絡(luò)爬蟲,以執(zhí)行HTTP GET請(qǐng)求并獲取淘寶網(wǎng)頁的內(nèi)容,感興趣的可以了解下2023-11-11
C++ 關(guān)于 CMFCPropertyGridCtrl 的使用方法
這篇文章主要介紹了C++ 關(guān)于 CMFCPropertyGridCtrl 的使用方法的相關(guān)資料,需要的朋友可以參考下2015-06-06
C++實(shí)現(xiàn)尋找最低公共父節(jié)點(diǎn)的方法
這篇文章主要介紹了C++實(shí)現(xiàn)尋找最低公共父節(jié)點(diǎn)的方法,是數(shù)據(jù)結(jié)構(gòu)中二叉樹的一個(gè)經(jīng)典算法,有一定的借鑒價(jià)值,需要的朋友可以參考下2014-09-09
C++詳解如何實(shí)現(xiàn)動(dòng)態(tài)數(shù)組
這篇文章主要為大家詳細(xì)介紹了C++實(shí)現(xiàn)動(dòng)態(tài)數(shù)組的方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-06-06
C++ 中boost::share_ptr智能指針的使用方法
這篇文章主要介紹了C++ 中boost::share_ptr智能指針的使用方法的相關(guān)資料,希望通過本文能幫助到大家,需要的朋友可以參考下2017-10-10
C++實(shí)現(xiàn)基于控制臺(tái)界面的吃豆子游戲
這篇文章主要介紹了C++實(shí)現(xiàn)基于控制臺(tái)界面的吃豆子游戲,實(shí)例分析了吃豆子游戲的原理與C++實(shí)現(xiàn)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-04-04

