21xrx.com
2024-12-22 23:57:52 Sunday
登录
文章检索 我的文章 写文章
如何在C++中打印横向菱形?
2023-07-04 01:56:55 深夜i     --     --
C++ 打印 横向 菱形 循环

在C++中打印横向菱形需要采用循环来实现,下面是实现菱形输出的步骤:

1. 首先设置菱形的大小,设定菱形占用的行数和字符数,其中菱形中心点为行数的一半,如下代码所示:


int rows = 5;   // 设置菱形的行数

int columns = (rows * 2) - 1;  // 设置菱形占用的字符数

int center = (rows - 1) / 2;   // 计算菱形中心点

2. 开始通过循环输出空格和星号,具体地,我们需要两段循环来输出菱形的上半部分和下半部分。上半部分需要从第一行到中心点行,下半部分需要从中心点行+1到菱形末尾。


// 输出菱形上半部分

for (int i = 0; i < center + 1; i++) {   // 从第一行开始到中心点行

  for (int j = 0; j < (columns / 2) - i; j++)    // 输出空格

    cout << " ";

  

  for (int k = 0; k < (2 * i) + 1; k++) {   // 输出星号

    cout << "*";

  }

  cout << endl;

}

// 输出菱形下半部分

for (int i = center + 1; i < rows; i++) {   // 从中心点行+1开始到菱形末尾

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

    cout << " ";

  

  for (int k = 0; k < (columns - (2 * (i - center))) + 1; k++) {   // 输出星号

    cout << "*";

  }

  cout << endl;

}

3. 最后将上半部分和下半部分输出起来,就可以得到横向的菱形输出了。

完整代码如下:


#include <iostream>

using namespace std;

int main() {

  int rows = 5;   // 设置菱形的行数

  int columns = (rows * 2) - 1;  // 设置菱形占用的字符数

  int center = (rows - 1) / 2;   // 计算菱形中心点

  // 输出菱形上半部分

  for (int i = 0; i < center + 1; i++) {   // 从第一行开始到中心点行

    for (int j = 0; j < (columns / 2) - i; j++)    // 输出空格

      cout << " ";

    

    for (int k = 0; k < (2 * i) + 1; k++) {   // 输出星号

      cout << "*";

    }

    cout << endl;

  }

  // 输出菱形下半部分

  for (int i = center + 1; i < rows; i++) {   // 从中心点行+1开始到菱形末尾

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

      cout << " ";

    

    for (int k = 0; k < (columns - (2 * (i - center))) + 1; k++) {   // 输出星号

      cout << "*";

    }

    cout << endl;

  }

  return 0;

}

  
  

评论区

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