C語言判斷三角形的型別

2020-07-16 10:04:29
根據輸入的三角形的三條邊判斷三角形的型別,並輸出其面積和型別。

演算法思想

首先判斷其兩邊之和是否大於第三邊,若大於則判斷可以構成三角形,再進一步判斷該三角形是什麼三角形,並計算這個三角形的面積;否則不能構成三角形。

① 從鍵盤輸入三角形的三條邊。

② 判斷兩邊之和是否大於第三邊。

③ 若條件成立則判斷可構成三角形,計算其面積,並判斷其型別;否則判斷其不能構成三角形。

④ 在型別判斷中首先判斷其是否三邊相等,條件成立則判斷其為等邊三角形;否則判斷其是否有兩邊相等,條件成立則判斷其為等腰三角形;否則判斷其是否有兩邊的平方和等於第三邊的平方,條件成立則判斷其為直角三角形;否則判斷其為普通三角形。

程式程式碼

#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("三角形的面積是:%fn" ,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");
    return 0;
}

偵錯執行結果

輸入為 3,3,3 時,對應的輸出情況如下所示:

請輸入三角形的三條邊:
3,3,3
三角形的面積是:3.897114
三角形是等邊三角形

輸入為 3,4,5 時,對應的輸出情況如下所示:

請輸入三角形的三條邊:
3,4,5
三角形的面積是:6.000000
三角形是直角三角形

總結

① 在本實訓之前必須知道三角形的相關知識,比如,怎麼判斷輸入的三邊是否能構成三角形、三角形的面積計算方法等。

要注意邏輯運算子“&&”和“||”的使用,當需要同時滿足多個條件時,使用“&&”運算子;而當只需滿足多個條件中的一個時,使用“||”運算子。