C 程式列印空心金字塔和菱形圖案
在這裡,我們將看到如何使用 C 生成空心金字塔和菱形圖案。我們可以非常輕鬆地生成實心金字塔圖案。為了使其空心,我們必須新增一些技巧。
空心金字塔
對於第一行的金字塔,它將列印一個星號,並且在最後一行中,它將列印 n 個星號。對於其他行,它將在行的開頭和結尾精確地列印兩個星號,並且在這兩個星號之間將有一些空白。
示例程式碼
#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("
");
}
}輸出
Enter number of lines: 20 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
空心菱形
對於第一行和最後一行中的菱形,它將列印一個星號。對於其他行,它將在行的開頭和結尾精確地列印兩個星號,並且在這兩個星號之間將有一些空白。菱形分為兩部分。上半部分和下半部分。在上半部分,我們必須增加空格數量,而在下半部分,我們必須減少空格數量。在這裡,可以使用另一個稱為 mid 的變數將行號分成兩部分。
示例程式碼
#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("
");
}
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("
");
}輸出
Enter number of lines: 15 * * * * * * * * * * * * * * * * * * * * * * * * * * * *
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP