首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計疑難解答

C語言求梯形面積:讀取三邊計算公式 (a+b)*c/2

     編輯:程式設計疑難解答

題目需求

輸入三個浮點數 a、b、c,分別代表梯形的上底、下底與高,計算並輸出面積,保留兩位小數。

標準解法

#include <stdio.h>

int main() {
    double a, b, c;
    scanf("%lf %lf %lf", &a, &b, &c);
    double area = (a + b) * c / 2.0;
    printf("%.2lf\n", area);
    return 0;
}

關鍵點

  • 使用 double 型別保證精度。
  • scanf 格式串 %lf 對應 double。
  • 公式 (a+b)*c/2 中 2.0 強制浮點運算,避免整數除法截斷(雖然變數已是 double,但良好習慣)。
  • printf("%.2lf") 格式化輸出兩位小數。

常見錯誤

  • 格式串寫成 %f 導致讀取錯誤(scanf 中 %f 對應 float,%lf 才對應 double)。
  • 忘記 & 取地址符。
  • 整數除法導致結果為 0(若誤用 int)。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved