21xrx.com
2024-11-22 03:54:12 Friday
登录
文章检索 我的文章 写文章
如何在C++中打印数字全包三角形
2023-07-13 16:33:47 深夜i     --     --
C++ 打印 数字 全包 三角形

在使用C++编程时,打印数字全包三角形是一种常见的应用场景,它可以让我们更好地理解循环和条件语句的运用。下面我们通过以下几个步骤来学习如何在C++中打印数字全包三角形。

1. 确定输入的数字

首先,我们需要确定要打印的数字是几。可以通过键盘输入,也可以将数字写死在程序中。下面我们以要求输入的方式为例:


int num;

cout << "请输入数字:";

cin >> num;

2. 构建单个三角形

接下来我们需要构建单个三角形。这里我们采用嵌套的for循环来实现。外层循环控制行数,内层循环控制每行打印的数字。初始时,每行数字的个数为1,每行数字从1开始递增。循环的条件是当前行数小于等于所需行数。代码如下:


int row = 1;

while (row <= num) {

  for (int i = 1; i <= row; i++)

    cout << i << " ";

  

  cout << endl;

  row++;

}

输出结果如下:


1

1 2

1 2 3

1 2 3 4

3. 构建完整三角形

接下来我们需要将构建好的单个三角形复制多个,并且在每个三角形之间加上空格来形成完整的三角形。这里我们再次采用嵌套的for循环来实现。外层循环控制行数,内层循环控制每行输出的内容。当第j列为奇数时,输出单个三角形;当第j列为偶数时,输出空格。循环的条件是当前行数小于等于所需行数*2-1。代码如下:


int row = 1;

while (row <= num*2-1) {

  for (int j = 1; j <= num*2-1; j++) {

    if (j % 2 == 1) {

      int t_row = (j + 1) / 2;

      if (t_row <= row && t_row < num*2-row)

        cout << t_row;

       else

        cout << " ";

      

    } else

      cout << " ";

    

  }

  cout << endl;

  row++;

}

输出结果如下:


   1   

   1 2   

  1 2 3  

  1 2 3 4  

 1 2 3 4 5 

  1 2 3 4  

  1 2 3  

   1 2   

   1   

4. 封装成函数

最后,我们可以将上述过程封装成函数,方便在其他程序中调用。完整代码如下:


#include <iostream>

using namespace std;

void printFullTriangle(int num) {

  int row = 1;

  while (row <= num*2-1) {

    for (int j = 1; j <= num*2-1; j++) {

      if (j % 2 == 1) {

        int t_row = (j + 1) / 2;

        if (t_row <= row && t_row < num*2-row)

          cout << t_row;

         else

          cout << " ";

        

      } else

        cout << " ";

      

    }

    cout << endl;

    row++;

  }

}

int main() {

  int num;

  cout << "请输入数字:";

  cin >> num;

  printFullTriangle(num);

  return 0;

}

以上就是在C++中打印数字全包三角形的实现方法,希望对大家有所帮助。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复