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]