Cách in ra hình tam giác ký tự * trong C#
Trong bài viết này mình sẽ hướng dẫn các bạn cách in ra hình tam gia với các ký tự * trong C#. Đây là một dạng bài tập áp dụng tư duy logic khá cao, vì vậy hay thực hành nó thật nhiều để rèn luyện nhé.
* * * * * * * * * * * * * * *
Giả sử ta có hình tam giác được tạo thành từ các ký tự * như trên, bây giờ sẽ biết chương trình để in ra hình tam đó với số dòng được nhập từ bàn phím.
- Nhập số dòng từ bàn phím, giả sử mình đặt tên là rows.
- Sử dụng vòng for thứ nhất lặp từ 1 đến số dòng.
- Sử dụng vòng for thứ hai để in ra các ký tự * của từng dòng.
- Sau khi in xong một dòng sẽ xuống dòng để in dòng mới.
for (int i = 0; i <= rows; i++) { for (int j = 0; j <= i; j++) { Console.Write("*"); } Console.WriteLine("\n"); }
1. In tam giác vuông với các ký tự *
Trong ví dụ này ta sẽ sử dụng hai vòng lặp for để thực hiện in hình tam giác vuông với các ký tự *.
using System; using System.Linq; using System.Text; using System.Collections.Generic; namespace ConsoleApp5 { class Program { static void Main(string[] args) { //lấy số dòng từ bàn phím Console.Write("Nhap vao so dong cua tam giac:"); int rows = Convert.ToInt32(Console.ReadLine()); //sử dụng vòng lặp for thứ nhất để lặp qua các dòng for (int i = 1; i <= rows; i++) { //sử dụng vòng lặp for thứ hai để in ký tự * cho mỗi dòng for (int j = 1; j <= i; j++) { Console.Write("*"); } //sau khi in mỗi dòng sẽ xuống hàng Console.Write("\n"); } Console.WriteLine("\n----Chuong trinh nay duoc dang tai Freetuts.net----\n"); Console.ReadLine(); } } }
Kết quả:
Bài viết này được đăng tại [free tuts .net]
2. In tam giác vuông ngược với các ký tự *
Việc in ra tam giác vuông ngược với các ký tự * cũng khá giống như in tam giác vuông bình thường. Ta chỉ cần thay đổi điều kiện của vòng lặp, lặp từ số dòng rows trở về 1 để in ra các ký tự *.
using System.Text; using System.Collections.Generic; namespace ConsoleApp5 { class Program { static void Main(string[] args) { //lấy số dòng từ bàn phím Console.Write("Nhap vao so dong cua tam giac:"); int rows = Convert.ToInt32(Console.ReadLine()); //sử dụng vòng lặp for thứ nhất để lặp qua các dòng, ở đây ta sẽ lặp từ rows -> 1 for (int i = rows; i >=1; i--) { //sử dụng vòng lặp for thứ hai để in ký tự * cho mỗi dòng for (int j = 1; j <= i; j++) { Console.Write("*"); } //sau khi in mỗi dòng sẽ xuống hàng Console.Write("\n"); } Console.WriteLine("\n----Chuong trinh nay duoc dang tai Freetuts.net----\n"); Console.ReadLine(); } } }
Kết quả:
3. In tam giác hình kim tự tháp với các ký tự *
Để in ra tam giác hình kim tự tháp, ta cần sử dụng 3 vòng lặp for. Vòng lặp thứ nhất sẽ lặp qua các dòng trong tam giác, vòng for thứ hai sẽ in khoảng trắng và vòng for cuối cùng dùng để in các ký tự *.
using System; using System.Linq; using System.Text; using System.Collections.Generic; namespace ConsoleApp5 { class Program { static void Main(string[] args) { //lấy số dòng từ bàn phím Console.Write("Nhap vao so dong cua tam giac:"); int rows = Convert.ToInt32(Console.ReadLine()); //sử dụng vòng for thứ nhất để lặp qua các dòng for (int i = 1; i <= rows; i++) { //sử dụng vòng for thứ hai để in ra các khoảng trắng for (int j = i; j < rows; j++) { Console.Write(" "); } //sử dụng vòng for thứ hai để in ra các ký tự * for (int j = 1; j <= (2 * i - 1); j++) { Console.Write("*"); } //xuống dòng Console.Write("\n"); } Console.WriteLine("\n----Chuong trinh nay duoc dang tai Freetuts.net----\n"); Console.ReadLine(); } } }
Kết quả:
Trên đây là các chương trình để in ra hình tam giác với các ký tự * trong C#. Chỉ cần tìm ra được quy luật của nó thì rất dễ dàng để viết chương trình, chúc các bạn thực hiện thành công !!!