在C ++中使用递归打印金字塔

本文旨在通过使用C ++编程的递归实现来打印金字塔图案。这样做的算法如下:

算法

Step-1 Set the height of the pyramid
Step-2 Adjust space using recursion function
Step-3 Adjust Hash(#) character using recursion function
Step-4 Call both functions altogether to print the Pyramid pattern

示例

如上述算法 ,以下真实的C ++代码经济学编写如下:

#include <iostream>
using namespace std;
//打印空格的功能
void print_space(int space){
   if (space == 0)
      return;
   cout << " ";
   //递归调用print_space()
   print_space(space - 1);
}
//函数打印哈希
void print_hash(int pat){
   if (pat == 0)
      return;
   cout << "# ";
   // recursively calling hash()   print_hash(pat - 1);
}
//打印图案的功能
void Pyramid(int n, int num){
   //基本情况
   if (n == 0)
      return;
   print_space(n - 1);
   print_hash(num - n + 1);
   cout << endl;
   // recursively calling pattern()   Pyramid(n - 1, num);
}
int main(){
   int n = 5;
   Pyramid(n, n);
   return 0;
}

编译完上述代码后,将打印带有特殊字符“#”的金字塔,如下所示。

输出结果

      #
     # #
    # # #
   # # # #
  # # # # #