六邊形圖案的 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; }

輸出

更新時間:2019-11-21

2K+ 次瀏覽

開始您的 職業生涯

完成課程,獲得證書

開始
廣告
© . All rights reserved.