Cho một số n; nhiệm vụ là tạo mẫu mặt biểu cảm (Expressionless face) lên đến n dòng và hiển thị kết quả. Mặt biểu cảm được tạo bằng ký tự đặc biệt, trông như: "*_*".
Ví dụ
Đầu vào: n = 6 Đầu ra:

Đầu vào: n = 8 Đầu ra:

Thuật toán
Bắt đầu
Bước 1 -> Trong hàm print_stars(int i)
Vòng lặp Với j = 1 đến j <= i và j++
In "*"
Bước 2 -> Trong hàm print_pattern(int rows)
Vòng lặp Với i = 1 đến i <= rows và i++
Gọi hàm print_stars(i)
In "_"
Gọi print_stars(rows - i + 1)
In "_"
Gọi print_stars(rows - i + 1)
In "_"
Gọi print_stars(i)
In xuống dòng
Bước 3 -> Trong hàm int main()
Khai báo và gán rows = 8
Gọi print_pattern(rows)
Kết thúc
Ví dụ mã C++
#include <bits/stdc++.h>
using namespace std;
// Hàm in dấu sao
void print_stars(int i) {
for (int j = 1; j <= i; j++)
cout << "*";
}
void print_pattern(int rows) {
for (int i = 1; i <= rows; i++) {
print_stars(i);
cout << "_";
print_stars(rows - i + 1);
cout << "_";
print_stars(rows - i + 1);
cout << "_";
print_stars(i);
cout << endl;
}
}
int main() {
int rows = 8;
print_pattern(rows);
return 0;
}
Đầu ra
