Trang chủLập trìnhLập trình C/C++Vẽ hình tam giác trong lập trình C/C++

Vẽ hình tam giác 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++.

Vẽ hình tam giác trong lập trình C/C++

Ý tưởng của bài toán vẽ hình tam giác sẽ như sau, giả sử gọi n là chiều cao hình tam giác. Ta sẽ sử dụng 2 vòng lặp for lồng nhau, với vòng lặp thứ nhất ta sẽ duyệt từng hàng, sau đó vòng lặp thứ hai dựa vào vị trí hàng(i) ta in ra số lượng ký tự cần thiết để tạo nên 1 hình tam giác.

Code chương trình C

#include <stdio.h>
int main()
{
	int n;
	printf("Nhap chieu cao hinh tam giac: ");
	scanf("%d", &n);
	
	int i,j;
   //duyệt vòng lặp i để duyệt n hàng
	for(i = 0; i < n; i++){
      //Vòng lặp j để vẽ số in ra số lượng * cần thiết ở mỗi hàng
		for(j = n-i; j < n; j++){
			printf("* ");//In ra các ký tự * tạo nên hình tam giác
		}
		printf("\n");
	}
}

Chạy thử chương trình, như vậy ta đã vẽ được một hình tam giác dạng tam giác vuông cân.

Vẽ hình tam giác trong C

Vậy để chuyển tam giác thành dạng tam giác đều, ta sẽ dùng thêm 1 vòng lặp nữa để đặt khoảng cách trên từng hàng.

#include <stdio.h>
int main()
{
	int n;
	printf("Nhap chieu cao hinh tam giac: ");
	scanf("%d", &n);
	
	int i;
	for(i = 0; i < n; i++){
		int j;
       //Thêm vòng lặp này để đặt khoảng cách ở trước mỗi hàng
		for(j = i; j < n; j++){
			printf(" ");
		}
		for(j = n-i; j < n; j++){
			printf("* ");
		}
		printf("\n");
	}
}

Và đây là kết quả

Vẽ hình tam giác trong C

Để đảo ngược hình tam giác thì ta chỉ cần thay đổi số bước lặp của vòng lặp j.

#include <stdio.h>
int main()
{
	int n;
	printf("Nhap chieu cao hinh tam giac: ");
	scanf("%d", &n);
	
	int i;
	for(i = 0; i < n; i++){
		int j;
       //Thay đổi số bước lặp j để đảo ngược hình tam giác
		for(j = n-i; j < n; j++){
			printf(" ");
		}
		for(j = i; j < n; j++){
			printf("* ");
		}
		printf("\n");
	}
}

Kết quả sau khi đảo ngược hình tam giác

Vẽ hình tam giác trong C

[Xem tất cả bài viết chủ đề C/C++ tại đây]

0 0 Phiếu bình chọn
Xếp hạng bài viết
BÀI VIẾT LIÊN QUAN
Đăng ký nhận thông báo
Thông báo email khi
guest
0 Bình luận
Không thể gửi email
Phản hồi nội tuyến

NÊN ĐỌC THÊM

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


0
Giáo sư! có thể ném gạch bên dưới nhé!x
()
x