21xrx.com
2024-12-22 21:38:30 Sunday
登录
文章检索 我的文章 写文章
如何在C++中输出三角形
2023-07-11 19:45:38 深夜i     --     --
C++ output triangle

在C++中实现输出三角形并不难,我们可以使用for循环来实现。下面介绍一种输出直角三角形的方法:

首先,我们可以先输出一个空心的直角三角形,如下所示:


#include <iostream>

using namespace std;

int main()

{

  int n = 6; // 定义三角形的行数

  for (int i = 1; i <= n; i++) // 外层循环控制行数

  {

    for (int j = 1; j <= n - i; j++) // 内层循环控制空格数

    

      cout << " "; // 输出空格

    

    for (int k = 1; k <= i; k++) // 内层循环控制 * 号数

    {

      if (k == 1 || k == i || i == n) // 判断是否为第一行或第一列或者最后一行

        cout << "* "; // 输出 * 号

      else

        cout << " "; // 输出空格

    }

    cout << endl; // 换行

  }

  return 0;

}

输出结果为:


   *

  * *

  *  *

 *   *

*    *

***********

具体解释如下:

- 外层循环控制行数,内层循环控制空格数和 * 号数。

- 在每一行输出时,先输出一定数量的空格。由于我们要输出一个空心三角形,所以第一行和第一列和最后一行全部输出 * 号,中间的空格位置输出空格即可。

- 判断是否为第一行或第一列或者最后一行,如果是则输出 * 号,否则输出空格。

- 最后一定要输出换行符,否则所有的输出会连成一串。

除了输出直角三角形,我们还可以输出等边三角形。输出等边三角形的方法与输出直角三角形的方法有所不同,需要花费更多的时间和精力。

下面是一个简单的输出等边三角形的示例代码:


#include <iostream>

using namespace std;

int main()

{

  int n = 6; // 定义三角形的行数

  for (int i = 1; i <= n; i++) // 外层循环控制行数

  {

    for (int j = 1; j <= n - i; j++) // 输出空格

    

      cout << " ";

    

    for (int k = 1; k <= i * 2 - 1; k++) // 输出 *

    {

      cout << "*";

    }

    cout << endl; // 换行

  }

  return 0;

}

输出结果为:


   *

  ***

  *****

 *******

*********

***********

具体解释如下:

- 外层循环控制行数,内层循环分别控制输出空格和 * 号。

- 输出空格时,我们需要根据当前行数来计算空格数,空格数的计算公式为 n - i,n表示三角形的行数,i表示当前行数。

- 输出 * 号时,由于我们要输出等边三角形,所以每一行的 * 号数都是奇数,因此我们可以用 2 * i - 1 来计算输出的 * 号数。

- 最后同样要输出换行符,否则所有的输出会连成一串。

综上所述,我们可以发现,在C++中输出三角形并不难。需要注意的是,在输出时要注意控制输出的格式,尤其是换行符的位置,否则会出现意想不到的问题。希望本文可以对大家掌握C++语言有所帮助。

  
  

评论区

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