Editorial for C++ Bài 1.C2: Diện tích tam giác
Submitting an official solution before solving the problem yourself is a bannable offence.
Lời giải chi tiết:
Đầu tiên, các bạn cần khai báo kiểu dữ liệu của ba cạnh \(a, b, c \) dựa vào khoảng giá trị đề bài đưa \((1 \leq a, b, c \leq 10^6)\).
Bước 2, các bạn dùng lệnh cin
để nhập ba số vừa khai báo ở trên.
Bước 3, các bạn khởi tạo một biến (ví dụ tên biến là s
), chú ý kiểu dữ liệu của biến vừa tạo dựa vào khoảng giá trị của ba cạnh tam giác \((1 \leq a, b, c \leq 10^6)\), biến này có tác dụng tính nửa chu vi của tam giác theo công thức Heron: \( s = \frac{a + b + c}{2}\)
Bước 4, các bạn khởi tạo một biến (ví dụ tên biến là area
), chú ý kiểu dữ liệu của biến vừa tạo dựa vào khoảng giá trị của ba cạnh tam giác \((1 \leq a, b, c \leq 10^6)\), biến này có tác dụng tính diện tích của tam giác theo công thức Heron: \( area = \sqrt{s \cdot (s - a) \cdot (s - b) \cdot (s - c)}\). Lưu ý hàm sqrt
trong C++ dùng để tính căn bậc 2.
Bước 5, in ra kết quả theo yêu cầu đề bài, sử dụng lệnh cout
để in ra, chú ý câu lệnh fixed << setprecision()
, trong dấu () là số chữ số lấy sau dấu phẩy.
#include <bits/stdc++.h>
using namespace std;
int main(){
long double side1, side2, side3, area, s;
cin >> side1;
cin >> side2;
cin >> side3;
s = (side1 + side2 + side3) / 2;
area = sqrt(s * (s - side1) * (s - side2) * (s - side3));
cout << fixed << setprecision(2);
cout <<area << endl;
return 0;
}
Comments