六邊形圖案的 C 程式
我們得到一個整數 n,任務是生成六邊形圖案並顯示最終輸出。
示例
Input-: n=5 Output-:

Input-: n = 4 Output-:

我們在給定程式中使用的方法如下 −
- 從使用者輸入數字 n
- 將整個圖案分為三個部分,即上部、中部和下部啟動迴圈 i,從 i 到 0 並 i 小於 n 列印圖案的上部,並一直遞增 i 的值啟動迴圈 m,從 m 到 0 並 m 小於 n-2 列印圖案的中部,並一直遞增 m 的值啟動迴圈 h,從 h 到 res 並 h 大於 0 列印圖案的下部,並一直遞減 h 的值一直使用空格列印 *。
演算法
START Step 1-> declare function to print hexagonal pattern void pattern(int n) Declare and set int len = 2 * n - 1 Loop For int i = 0 and i < n and i++ declare and set int temp = i + n Loop For int k = 0 and k < temp and k++ IF ((k == n + i - 1) || (k == n - i - 1)) print * End Else print space End Print
End Loop For int m = 0 and m < n - 2 and m++ Loop For int j = 0 and j < len and j++ if (j == 0 || j == len - 1) Print * End Else print space End End Print
End declare and set int res = n - 1 Loop For int h = res and h >= 0 and h-- declare and set int temp2 = h + n Loop For int k = 0 and k < temp2 and k++ if ((k == n + h - 1) || (k == n - h - 1)) print * End Else print space End End Print
End End Step 2-> In main() Declare variable int n = 5 call pattern(n) STOP
示例
#include <stdio.h>
//program to print hexagon pattern
void pattern(int n) {
int len = 2 * n - 1;
//for loop for upper part of a pattern
for (int i = 0; i < n; i++) {
int temp = i + n;
for (int k = 0; k < temp; k++) {
if ((k == n + i - 1) || (k == n - i - 1))
printf("*");
else
printf(" ");
}
printf("
");
}
//for loop for mid part of a pattern
for (int m = 0; m < n - 2; m++) {
for (int j = 0; j < len; j++) {
if (j == 0 || j == len - 1)
printf("*");
else
printf(" ");
}
printf("
");
}
//for loop for lower part of a pattern
int res = n - 1;
for (int h = res; h >= 0; h--) {
int temp2 = h + n;
for (int k = 0; k < temp2; k++) {
if ((k == n + h - 1) || (k == n - h - 1))
printf("*");
else
printf(" ");
}
printf("
");
}
}
int main() {
int n = 5;
pattern(n);
return 0;
}輸出

廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP