21xrx.com
2024-06-03 05:25:26 Monday
登录
文章检索 我的文章 写文章
用 C++ 打印星号菱形
2023-07-13 10:52:30 深夜i     --     --
C++ 打印 星号 菱形

C++ 是一种高效的编程语言,在很多领域都被广泛应用。其中,在输出图形等需要使用 ASCII 码的场合,C++ 的强大输出功能就会被充分发挥。在本文中,我们将介绍如何使用 C++ 打印出一个漂亮的星号菱形。

首先,我们需要定义菱形的大小。假设我们要打印一个 5 行的星号菱形,那么我们需要用以下代码来定义:


const int n = 5;

接下来,我们需要使用两个嵌套的循环来输出这个星号菱形。外层循环用来控制菱形的行数,内层循环用来控制每行输出的字符数。具体代码如下:


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

  for (int j = 0; j < n - i; j++) // 内层循环控制输出空格的数量

    cout << " ";

  

  for (int k = 0; k <= i; k++) { // 内层循环控制输出星号的数量

    cout << "* ";

  }

  cout << endl;

}

上面的代码中,我们首先输出了空格,通过控制内层循环的次数,使得每行输出的空格数量逐渐减少。然后,我们又输出了星号,通过控制内层循环的次数,使得每行输出的星号数量逐渐增加。

最后,我们再使用相同的循环方式,倒着输出星号菱形的下半部分:


for (int i = n - 2; i >= 0; i--) { // 外层循环控制行数

  for (int j = 0; j < n - i; j++) // 内层循环控制输出空格的数量

    cout << " ";

  

  for (int k = 0; k <= i; k++) { // 内层循环控制输出星号的数量

    cout << "* ";

  }

  cout << endl;

}

这样,我们就可以在控制台上打印出一个漂亮的星号菱形了。完整代码如下:


#include <iostream>

using namespace std;

int main() {

  const int n = 5;

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

    for (int j = 0; j < n - i; j++)

      cout << " ";

    

    for (int k = 0; k <= i; k++) {

      cout << "* ";

    }

    cout << endl;

  }

  for (int i = n - 2; i >= 0; i--) {

    for (int j = 0; j < n - i; j++)

      cout << "* ";

    

    for (int k = 0; k <= i; k++) {

      cout << "* ";

    }

    cout << endl;

  }

  return 0;

}

通过这个例子,我们可以看到 C++ 在输出图形等需要使用 ASCII 码的场合有着很强的优势。当然,这只是 C++ 的冰山一角,它还有很多强大的功能和工具,可以用来解决更加复杂的问题。

  
  

评论区

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