三角形面積
題目描述
一個三角形的三邊長分別是 a、b、c,那么它的面積為 p ( p ? a ) ( p ? b ) ( p ? c ) \sqrt{p(p-a)(p-b)(p-c)} p(p?a)(p?b)(p?c)?,其中 p = 1 2 ( a + b + c ) p=\frac{1}{2}(a+b+c) p=21?(a+b+c) 。輸入這三個數字,計算三角形的面積,四舍五入精確到 1 位小數。
輸入格式
第一行輸入三個實數 ,以空格隔開。
輸出格式
輸出一個實數,表示三角形面積。精確到小數點后 位。
輸入輸出樣例 #1
輸入 #1
3 4 5
輸出 #1
6.0
說明/提示
數據保證能構成三角形,,每個邊長輸入時不超過 位小數。
C
include <stdio.h>
include <math.h>int main() {double a, b, c;// 讀取輸入scanf("%lf %lf %lf", &a, &b, &c);// 計算半周長double p = (a + b + c) / 2;// 計算面積double area = sqrt(p * (p - a) * (p - b) * (p - c));// 輸出結果,精確到小數點后 1 位printf("%.1f", area);return 0;
}
C++
include <iostream>
include <iomanip>
include <cmath>int main() {double a, b, c;// 讀取輸入std::cin >> a >> b >> c;// 計算半周長double p = (a + b + c) / 2;// 計算面積double area = std::sqrt(p * (p - a) * (p - b) * (p - c));// 輸出結果,精確到小數點后 1 位std::cout << std::fixed << std::setprecision(1) << area;return 0;
}
Python
# 讀取輸入
a, b, c = map(float, input().split())
# 計算半周長
p = (a + b + c) / 2
# 計算面積
area = (p * (p - a) * (p - b) * (p - c)) ** 0.5
# 輸出結果,精確到小數點后 1 位
print(f"{area:.1f}")
Java
import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);// 讀取輸入double a = scanner.nextDouble();double b = scanner.nextDouble();double c = scanner.nextDouble();// 計算半周長double p = (a + b + c) / 2;// 計算面積double area = Math.sqrt(p * (p - a) * (p - b) * (p - c));// 輸出結果,精確到小數點后 1 位System.out.printf("%.1f", area);scanner.close();}
}
夢想可以大,第一步總是小的!