21xrx.com
2025-03-27 16:51:54 Thursday
文章检索 我的文章 写文章
C++实现等腰三角形的输出方法
2023-07-02 01:39:22 深夜i     --     --
C++ 等腰三角形 输出方法

等腰三角形是一种常见的图形,它可以由若干个等边直角三角形组成。C++可以实现等腰三角形的输出方法,让我们来看看其中的一些方法。

方法一:使用for循环

使用for循环可以很容易地输出等腰三角形。具体实现方式是,在第一层循环中循环每一行,然后在第二层循环中循环每一列。当列数大于等于行数时,输出一个*,否则输出一个空格。

示例代码:

#include <iostream>
using namespace std;
int main() {
  int rows;
  cout << "请输入等腰三角形的行数:" << endl;
  cin >> rows;
 
  for (int i = 0; i < rows; i++)
  {
    for (int j = 0; j <= i; j++)
    {
      if (j >= rows - i - 1)
      {
        cout << "* ";
      }
      else
      
        cout << ' ';
      
    }
    cout << endl;
  }
  return 0;
}

方法二:使用while循环

使用while循环也可以实现等腰三角形的输出方法。与for循环不同,使用while循环需要定义多个变量来追踪当前行和列的位置。

示例代码:

#include <iostream>
using namespace std;
int main()
{
  int rows;
  cout << "请输入等腰三角形的行数:" << endl;
  cin >> rows;
  int i = 1;
  while (i <= rows)
  {
    int j = 1;
    while (j <= rows - i)
    {
      cout << ' ';
      j++;
    }
    j = 1;
    while (j <= i * 2 - 1)
    {
      cout << '*';
      j++;
    }
    cout << endl;
    i++;
  }
  return 0;
}

方法三:使用递归函数

使用递归函数也可以实现等腰三角形的输出方法。递归函数需要传递三个参数:当前行,总行数和星号个数。首先判断当前行是否等于总行数,是则返回;否则,输出当前行的空格,再输出星号,递归调用函数,行数加1,星号个数加2。

示例代码:

#include <iostream>
using namespace std;
void printTriangle(int row, int rows, int starCount)
{
  if (row > rows) return;
  for (int i = 1; i <= rows - row; i++)
  
    cout << ' ';
  
  for (int i = 1; i <= starCount; i++)
  {
    cout << '*';
  }
  cout << endl;
  printTriangle(row + 1, rows, starCount + 2);
}
int main()
{
  int rows;
  cout << "请输入等腰三角形的行数:" << endl;
  cin >> rows;
  printTriangle(1, rows, 1);
  return 0;
}

以上是三种不同的等腰三角形输出方法,选择最适合自己的方法,就可以轻松地输出出漂亮的等腰三角形了。

  
  

评论区