21xrx.com
2024-11-05 16:23:34 Tuesday
登录
文章检索 我的文章 写文章
用C++语言实现打印星号图案
2023-06-27 11:44:06 深夜i     --     --
C++ 打印 星号图案

在C++语言中,我们可以使用循环语句和条件语句来实现打印星号图案。下面我将介绍几种常见的星号图案的打印方式。

1. 正三角形图案

正三角形图案是一个等边三角形,每一行星号数量递增,最后一行为 n 个星号,比如:

    *

    ***

   *****

   *******

  *********

可以使用两个嵌套的 for 循环来实现打印:


int main()

{

  int n = 5; // 正三角形高度

  for (int i = 1; i <= n; ++i) {

    int space = n - i;

    for (int j = 1; j <= space; ++j)

      cout << " ";

    

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

      cout << "*";

    }

    cout << endl;

  }

  return 0;

}

2. 倒三角形图案

倒三角形图案与正三角形相反,每一行星号数量递减,最后一行为 n 个星号,比如:

  *********

   *******

   *****

    ***

    *

同样可以使用两个嵌套的 for 循环来实现打印:


int main()

{

  int n = 5; // 倒三角形高度

  for (int i = n; i >= 1; --i) {

    int space = n - i;

    for (int j = 1; j <= space; ++j)

      cout << " ";

    

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

      cout << "*";

    }

    cout << endl;

  }

  return 0;

}

3. 菱形图案

菱形图案由正三角形和倒三角形组成,可以将两个图案的代码结合起来实现:

    *

   ***

   *****

  *******

   *****

   ***

    *

除了两个嵌套的 for 循环外,还需要使用一个 if 条件语句来判断当前循环变量 i 所处的位置:


int main()

{

  int n = 4; // 菱形高度

  int space, star;

  // 打印上半部分

  for (int i = 1; i <= n; ++i) {

    space = n - i;

    star = 2 * i - 1;

    for (int j = 1; j <= space; ++j)

      cout << " ";

    

    for (int j = 1; j <= star; ++j) {

      cout << "*";

    }

    cout << endl;

  }

  // 打印下半部分

  for (int i = n - 1; i >= 1; --i) {

    space = n - i;

    star = 2 * i - 1;

    for (int j = 1; j <= space; ++j)

      cout << " ";

    

    for (int j = 1; j <= star; ++j) {

      cout << "*";

    }

    cout << endl;

  }

  return 0;

}

这些打印星号图案的方法只是其中的一部分,喜欢的读者可以在这个基础上自行尝试打印其他图案,让自己的C++编程技能更上一层楼。

  
  
下一篇: Node.js控制器层

评论区

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