Ở đây, chúng ta sẽ xem cách tạo các mẫu kim tự tháp rỗng và kim cương bằng cách sử dụng C. Chúng ta có thể tạo các mẫu Kim tự tháp đặc rất dễ dàng. Để làm cho nó trở nên rỗng, chúng ta phải thêm một số thủ thuật.
Kim tự tháp rỗng
Đối với kim tự tháp ở dòng đầu tiên nó sẽ in một ngôi sao và ở dòng cuối cùng nó sẽ in n số ngôi sao. Đối với các dòng khác, nó sẽ in chính xác hai dấu sao ở đầu và cuối dòng, và sẽ có một số khoảng trống giữa hai dấu bắt đầu này.
Mã mẫu
#include <stdio.h> int main() { int n, i, j; printf("Enter number of lines: "); scanf("%d", &n); for(i = 1; i<=n; i++) { for(j = 1; j<=(n-i); j++){ //print the blank spaces before star printf(" "); } if(i == 1 || i == n){ //for the first and last line, print the stars continuously for(j = 1; j<=i; j++) { printf("* "); } } else { printf("*"); //in each line star at start and end position for(j = 1; j<=2*i-3; j++) { //print space to make hollow printf(" "); } printf("*"); } printf("\n"); } }
Đầu ra
Enter number of lines: 20 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
Kim cương rỗng
Đối với viên kim cương ở dòng đầu tiên và ở dòng cuối cùng, nó sẽ in một ngôi sao. Đối với các dòng khác, nó sẽ in chính xác hai ngôi sao ở đầu và cuối dòng, và sẽ có một số khoảng trống giữa hai dấu bắt đầu này. Kim cương có hai phần. Nửa trên và nửa dưới. Ở nửa trên, chúng ta phải tăng số lượng khoảng trắng và ở nửa dưới, chúng tôi phải giảm số lượng khoảng trắng. Ở đây, số dòng có thể được chia thành hai phần bằng cách sử dụng một biến khác có tên là mid.
Mã mẫu
#include <stdio.h> int main() { int n, i, j, mid; printf("Enter number of lines: "); scanf("%d", &n); if(n %2 == 1) { //when n is odd, increase it by 1 to make it even n++; } mid = (n/2); for(i = 1; i<= mid; i++) { for(j = 1; j<=(mid-i); j++){ //print the blank spaces before star printf(" "); } if(i == 1) { printf("*"); } else { printf("*"); //in each line star at start and end position for(j = 1; j<=2*i-3; j++){ //print space to make hollow printf(" "); } printf("*"); } printf("\n"); } for(i = mid+1; i<n; i++) { for(j = 1; j<=i-mid; j++) { //print the blank spaces before star printf(" "); } if(i == n-1) { printf("*"); } else { printf("*"); //in each line star at start and end position for(j = 1; j<=2*(n - i)-3; j++) { //print space to make hollow printf(" "); } printf("*"); } printf("\n"); }
Đầu ra
Enter number of lines: 15 * * * * * * * * * * * * * * * * * * * * * * * * * * * *