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]
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