C語(yǔ)言輸入三角形邊長(zhǎng)判斷其類(lèi)型并輸出面積實(shí)例代碼
本文主要研究的是輸入三角形邊長(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:用海倫公式求三角形面積。海倫公式如下:

具體實(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ì)本站的支持!
相關(guān)文章
C++簡(jiǎn)單QQ程序服務(wù)器端的實(shí)現(xiàn)代碼
這篇文章主要為大家詳細(xì)介紹了C++簡(jiǎn)單QQ程序服務(wù)器端的實(shí)現(xiàn)代碼,感興趣的朋友可以參考一下2016-05-05
C++詳解默認(rèn)參數(shù)的構(gòu)造函數(shù)及簡(jiǎn)單實(shí)例代碼
這篇文章主要介紹了 C++詳解默認(rèn)參數(shù)的構(gòu)造函數(shù)及簡(jiǎn)單實(shí)例代碼的相關(guān)資料,需要的朋友可以參考下2017-02-02
C++實(shí)現(xiàn)特殊矩陣的壓縮存儲(chǔ)算法
在實(shí)際存儲(chǔ)時(shí),會(huì)發(fā)現(xiàn)矩陣中有許多值相同的數(shù)據(jù)或有許多零數(shù)據(jù),且分布呈現(xiàn)出一定的規(guī)律,稱(chēng)這類(lèi)型的矩陣為特殊矩陣。本文將利用C++實(shí)現(xiàn)特殊矩陣的壓縮存儲(chǔ),感興趣的可以了解一下2022-08-08
C++將二叉樹(shù)轉(zhuǎn)為雙向鏈表及判斷兩個(gè)鏈表是否相交
這篇文章主要介紹了C++將二叉樹(shù)轉(zhuǎn)為雙向鏈表及判斷兩個(gè)鏈表是否相交的方法,文中還給出了求兩個(gè)鏈表相交的第一個(gè)節(jié)點(diǎn)列的實(shí)現(xiàn)方法,需要的朋友可以參考下2016-02-02
使用C語(yǔ)言編寫(xiě)一個(gè)強(qiáng)制關(guān)機(jī)程序
這篇文章主要為大家詳細(xì)介紹了如何使用C語(yǔ)言實(shí)現(xiàn)一個(gè)簡(jiǎn)單的"流氓軟件",一個(gè)可以強(qiáng)制關(guān)機(jī)惡作劇關(guān)機(jī)程序,輸入指定指令才可以解除,感興趣的小伙伴可以學(xué)習(xí)一下2023-11-11
C語(yǔ)言中隨機(jī)數(shù)rand()函數(shù)詳解
大家好,本篇文章主要講的是C語(yǔ)言中隨機(jī)數(shù)rand()函數(shù)詳解,感興趣的同學(xué)感快來(lái)看一看吧,對(duì)你有幫助的話記得收藏一下2022-02-02

