程序在C ++中打印风筝图案

在本教程中,我们将讨论一个程序来打印给定的Kite模式。

为此,我们将输入设为N = 5。我们的任务是打印给定的风筝结构,其总高度为2N + 1 =5。这包括9行(上面的菱形结构)和2行(下面的不完整菱形结构)。

示例

#include <bits/stdc++.h>
#include <stdlib.h>
using namespace std;
int main(){
   int i, j, k, sp, space = 4;
   char prt = '$';
   //打印第一颗钻石的上半部分
   for (i = 1; i <= 5; i++){
      //在前面打印空格
      for (sp = space; sp >= 1; sp--){
         cout << " ";
      }
      //打印$字符
      for (j = 1; j <= i; j++){
         cout << prt;
      }
      for (k = 1; k <= (i - 1); k++){
         if (i == 1){
            continue;
         }
         cout << prt;
      }
      cout << "\n";
      space--;
   }
   space = 1;
   //打印第一颗钻石的下半部分
   for (i = 4; i >= 1; i--){
      for (sp = space; sp >= 1; sp--) {
         cout << " ";
      }
      for (j = 1; j <= i; j++){
         cout << prt;
      }
      for (k = 1; k <= (i - 1); k++){
         cout << prt;
      }
      space++;
      cout << "\n";
   }
   space = 3;
   //打印第二颗不完整的钻石
   for (i = 2; i <= 5; i++){
      if ((i % 2) != 0){
         for (sp = space; sp >= 1; sp--){
            cout << " ";
         }
         for (j = 1; j <= i; j++){
            cout << prt;
         }
      }
      if ((i % 2) != 0) {
         cout << "\n";
         space--;
      }
   }
   return 0;
}

输出结果

      $
     $$$
    $$$$$
   $$$$$$$
  $$$$$$$$$
   $$$$$$$
    $$$$$
     $$$
      $
     $$$
    $$$$$