C語言判斷三角形的類型
根據(jù)輸入的三角形的三條邊判斷三角形的類型,并輸出其面積和類型。
算法思想
首先判斷其兩邊之和是否大于第三邊,若大于則判斷可以構(gòu)成三角形,再進(jìn)一步判斷該三角形是什么三角形,并計算這個三角形的面積;否則不能構(gòu)成三角形。
① 從鍵盤輸入三角形的三條邊。
② 判斷兩邊之和是否大于第三邊。
③ 若條件成立則判斷可構(gòu)成三角形,計算其面積,并判斷其類型;否則判斷其不能構(gòu)成三角形。
④ 在類型判斷中首先判斷其是否三邊相等,條件成立則判斷其為等邊三角形;否則判斷其是否有兩邊相等,條件成立則判斷其為等腰三角形;否則判斷其是否有兩邊的平方和等于第三邊的平方,條件成立則判斷其為直角三角形;否則判斷其為普通三角形。
程序代碼
#include <stdio.h>
#include <math.h>
int main()
{
float a,b,c;
float s,area;
printf("請輸入三角形的三條邊:\n");
scanf("%f,%f,%f",&a,&b,&c);
if(a+b>c&&b+c>a&&a+c>b)
{
s=(a+b+c)/2;
area=(float)sqrt(s*(s-a)*(s-b)*(s-c));
printf("三角形的面積是:%f\n" ,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");
return 0;
}
調(diào)試運行結(jié)果
輸入為 3,3,3 時,對應(yīng)的輸出情況如下所示:
請輸入三角形的三條邊:
3,3,3
三角形的面積是:3.897114
三角形是等邊三角形
輸入為 3,4,5 時,對應(yīng)的輸出情況如下所示:
請輸入三角形的三條邊:
3,4,5
三角形的面積是:6.000000
三角形是直角三角形
總結(jié)
① 在本實訓(xùn)之前必須知道三角形的相關(guān)知識,比如,怎么判斷輸入的三邊是否能構(gòu)成三角形、三角形的面積計算方法等。
② 要注意邏輯運算符“&&”和“||”的使用,當(dāng)需要同時滿足多個條件時,使用“&&”運算符;而當(dāng)只需滿足多個條件中的一個時,使用“||”運算符。
作者:大學(xué)生新聞網(wǎng) 來源:大學(xué)生新聞網(wǎng)
- C語言判斷三角形的類型
- 根據(jù)輸入的三角形的三條邊判斷三角形的類型,并輸出其面積和類型。
- 03-05 關(guān)注:0
- C語言求n的階乘(n!)
- 從鍵盤輸入一個數(shù),求出這個數(shù)的階乘,即 n!。
- 03-05 關(guān)注:0
- C語言分塊查找算法,索引順序查找算法
- 例如,采用分塊查找法在有序表 11、12、18、28、39、56、69、89、96、122、135、146、156、256、298 中查找關(guān)鍵字為 96 的元素。
- 03-05 關(guān)注:0
- C語言二分查找算法,折半查找算法
- 本實例采用二分查找法查找特定關(guān)鍵字的元素。要求用戶輸入數(shù)組長度,也就是有序表的數(shù)據(jù)長度,并輸入數(shù)組元素和査找的關(guān)鍵字。
- 03-05 關(guān)注:0
- C語言歸并排序算法
- 用歸并排序法對一組數(shù)據(jù)由小到大進(jìn)行排序,數(shù)據(jù)分別為 695、458、362、789、12、 15、163、23、2、986。
- 03-05 關(guān)注:0
- C語言選擇排序算法
- 用選擇排序法對一組數(shù)據(jù)由小到大進(jìn)行排序,數(shù)據(jù)分別為 526、36、2、369、56、45、78、92、125、52。
- 03-05 關(guān)注:0
- C語言快速排序算法
- 用快速排序法對一組數(shù)據(jù)由小到大進(jìn)行排序,數(shù)據(jù)分別為 99、45、12、36、69、22、62、 796、4、696。
- 03-05 關(guān)注:0