首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

C語言練習:三角形面積計算與合法性驗證(海倫公式應用)

     編輯:關於C語言

問題描述

輸入三角形三邊長 a、b、c(實數),判斷能否構成三角形。若能,使用海倫公式計算面積;否則輸出 "No Triangle!"。

三角形判定條件

正確條件:任意兩邊之和大於第三邊,即:

a + b > c  &&  a + c > b  &&  b + c > a

原始碼錯誤:使用了 ||(邏輯或),導致只要滿足一個條件就判定為三角形,這是錯誤的。

海倫公式

半周長 s = (a + b + c) / 2

面積 Area = √[s(s-a)(s-b)(s-c)]

修正後的完整程式碼

#include <stdio.h>
#include <math.h>

int main() {
    float a, b, c;
    float s, area;

    printf("請輸入三角形三邊長 (實數) a, b, c:\n");
    scanf("%f %f %f", &a, &b, &c);

    // 正確的三角形判定:必須同時滿足三個條件
    if((a + b > c) && (a + c > b) && (b + c > a)) {
        s = (a + b + c) / 2;
        area = sqrt(s * (s - a) * (s - b) * (s - c));
        printf("該三角形的面積: %.4f\n", area);
    } else {
        printf("No Triangle!\n");
    }

    return 0;
}

測試案例

輸入輸出說明
3 4 5面積: 6.0000直角三角形
1 1 3No Triangle!1+1 < 3,無法構成
5 5 5面積: 10.8253正三角形

常見錯誤提醒

  • 判定條件使用 || 而非 &&
  • 未包含 math.h 導致 sqrt 未聲明
  • 輸出格式拼寫錯誤:N0 Trigale! 應為 No Triangle!
  • 未處理輸入為負數或零的情況
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved