Thứ Bảy, 17 Tháng Hai 2024
Trang chủLập trìnhLập trình C/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 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):

Công thức tính diện tích tam giác

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).

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]

4 4 Phiếu bình chọn
Xếp hạng bài viết
BÀI VIẾT LIÊN QUAN

1 BÌNH LUẬN

Đăng ký nhận thông báo
Thông báo email khi
guest
1 Bình luận
Mới nhất
Cũ nhất Được bình chọn nhiều nhất
Không thể gửi email
Phản hồi nội tuyến
ha van hon
ha van hon
1 tháng trước

Bài tập 1.viết hàm tính chu vi và diện tích của hình chữ nhật có hai cạnh a,b.thực hiện lời gọi hàm để in ra chu vi và diện tích của hình chữ nhật có các cạnh là các số nguyên nhập từ bàn phím 

NÊN ĐỌC THÊM

Bạn muốn tìm kiếm gì?

Dịch vụ code thuê

TUICOCACH.COM NHẬN ĐẶT TEXTLINK, BANNER, GP
1
0
Giáo sư! có thể ném gạch bên dưới nhé!x