Tính chu vi, diện tích hình tam giác trong C/C++

DANH SÁCH BÀI VIẾT Vẽ hình tam giác trong lập trình C/C++ Vẽ hình vuông trong lập trình C/C++ Vẽ hình chữ nhật trong lập trình C/C++ Kiểm tra 3 cạnh nhập vào có tạo thành hình tam giác Tính chu vi, diện tích hình tam giác trong C/C++ Tính chu vi diện tích hình tròn, thể tích hình cầu trong C/C++ Tính diện tích, thể tính hình lập phương trong lập trình C/C++ Tính diện tích, thể tích hình hộp chữ nhật trong lập trình C/C++ Tính diện tích, thể tích hình trụ tròn trong lập trình C/C++
Đây là một bài tập rất cơ bản giúp cho việc luyện tập code lập trình C/C++.
Tính chu vi, diện tích hình tam giác trong C/C++
Kiểm tra 3 cạnh nhập vào có tạo thành tam giác không
Để có thể tính được chu vi và diện tích thì trước tiên ta phải đảm bảo 3 cạnh nhập vào từ bàn phím phải là 3 cạnh của hình tam giác đã. Tính chất của hình tam giác thì với tổng bất kì 2 cạnh phải lớn hơn cạnh còn lại.
Như vậy ta có chương trình kiểm tra 3 cạnh nhập vào có tạo thành tam giác hay không như sau:
#include <stdio.h> int main() { int a, b, c; printf("Nhap lan luot 3 canh cua tam giac: "); scanf("%d %d %d", &a, &b, &c); if((a+b > c) && (a + c > b) && (c + b > a)){ printf("3 canh tao thanh 1 hinh tam giac"); }else{ printf("3 canh khong the tao thanh 1 hinh tam giac"); } }
Mình sẽ viết hàm kiểm tra 3 cạnh có phải là tam giác không thành 1 hàm riêng.
#include <stdio.h> #include <stdbool.h> //Hàm kiểm tra 3 cạnh có tạo thanh tam giác không bool kiemTra(int a, int b, int c){ //nếu tất cả trường hợp đúng trả về true if((a+b > c) && (a + c > b) && (c + b > a)){ return true; } //Ngược lại trả về false return false; } int main() { int a, b, c; printf("Nhap lan luot 3 canh cua tam giac: "); scanf("%d %d %d", &a, &b, &c); if(kiemTra(a,b,c)){ printf("3 canh tao thanh 1 hinh tam giac"); }else{ printf("3 canh khong the tao thanh 1 hinh tam giac"); } }
Tính chu vi hình tam giác
Chu vi của tam giác thì đơn giản rồi, chỉ việc cộng 3 cạnh của tam giác lại với nhau là được chu vi hình tam giác.
Viết code C như sau:
#include <stdio.h> int main() { int a, b, c; printf("Nhap lan luot 3 canh cua tam giac: "); scanf("%d %d %d", &a, &b, &c); int P = a + b +c; //Tính chu vi printf("Chu vi hinh tam giac la: %d", P); }
hoặc ta có thể viết hàm tính chu vi thành 1 hàm riêng.
#include <stdio.h> //Hàm tính chu vi tam giác int tinhChuVi(int a, int b, int c) { return a+b+c; //Tính chu vi và trả về cho hàm } int main() { int a, b, c; printf("Nhap lan luot 3 canh cua tam giac: "); scanf("%d %d %d", &a, &b, &c); int P= tinhChuVi(a,b,c); //Gọi hàm tính chu vi printf("Chu vi hinh tam giac la: %d", P); }
Tính diện tích hình tam giác
Tính diện tích tam giác khi biết độ dài 3 cạnh, ta có công thức chung như sau(Công thức Heron):

Với p chính là nửa chu vi của tam giác(Hàm tính chu vi ta đã có ở bên trên).
- Khóa học lập trình C/C++ từ A-Z cho người mới – Giảm giá 40% hôm nay
- Khóa học Java cơ bản dành cho người mới bắt đầu- Giảm 40% hôm nay
- Khóa học lập trình Android từ cơ bản đến thành thạo – Giảm ngay 40%
Vậy ta sẽ viết chương trình C như sau:
#include <stdio.h> #include <stdbool.h> #include <math.h> //Hàm tính chu vi int tinhChuVi(int a, int b, int c) { return a+b+c; } int main() { int a, b, c; printf("Nhap lan luot 3 canh cua tam giac: "); scanf("%d %d %d", &a, &b, &c); int P = tinhChuVi(a, b, c); //Tính chu vi float p = P/2.0; //Lấy nửa chu vi bằng cách lấy chu vi chia 2 (ghi 2.0 để ép kiểu kq về số thực) //sqrt là hàm tính căn bậc 2 float S = sqrt(p * (p-a) * (p-b) *(p-c)); printf("Dien tich hinh tam giac la: %.2f", S); }
Ta cũng sẽ viết hàm tính diện tích thành 1 hàm riêng
#include <stdio.h> #include <stdbool.h> #include <math.h> //Hàm tính chu vi int tinhChuVi(int a, int b, int c) { return a+b+c; } //Hàm tính diện tích float tinhDienTich(int a, int b, int c){ int P = tinhChuVi(a, b, c); float p = P/2.0; float S = sqrt(p * (p-a) * (p-b) *(p-c)); return S; } int main() { int a, b, c; printf("Nhap lan luot 3 canh cua tam giac: "); scanf("%d %d %d", &a, &b, &c); float S = tinhDienTich(a,b,c); //Gọi hàm tính diện tích printf("Dien tich hinh tam giac la: %.2f", S); }
Chương trình Tính chu vi, diện tích hình tam giác
Từ 3 ý trên ta có thể viết gộp lại thành 1 chương trình hoàn chỉnh sau:
#include <stdio.h> #include <stdbool.h> #include <math.h> //Hamf kiem tra 3 cạnh có tạo thành tam giác bool kiemTra(int a, int b, int c){ if((a+b > c) && (a + c > b) && (c + b > a)){ return true; } return false; } //Hàm tính chu vi int tinhChuVi(int a, int b, int c) { return a+b+c; } //Hàm tính diện tích float tinhDienTich(int a, int b, int c){ int P = tinhChuVi(a, b, c); float p = P/2.0; float S = sqrt(p * (p-a) * (p-b) *(p-c)); return S; } int main() { int a, b, c; printf("Nhap lan luot 3 canh cua tam giac: "); scanf("%d %d %d", &a, &b, &c); if(kiemTra(a,b,c) == false){ printf("3 canh khong tao thanh 1 hinh tam giac..."); }else{ int P = tinhChuVi(a,b,c); float S = tinhDienTich(a,b,c); printf("Chu vi hinh tam giac la: %d", P); printf("\nDien tich hinh tam giac la: %.2f", S); } }
Bạn chạy thử chương trình nhé!
[Xem tất cả bài viết chủ đề C/C++ tại đây]