21xrx.com
2025-04-01 00:22:41 Tuesday
文章检索 我的文章 写文章
用 C++ 打印星号菱形
2023-07-13 10:52:30 深夜i     64     0
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++ 的冰山一角,它还有很多强大的功能和工具,可以用来解决更加复杂的问题。

  
  

评论区

请求出错了