21xrx.com
2024-12-23 01:48:04 Monday
登录
文章检索 我的文章 写文章
C++使用for循环输出右半菱形
2023-06-28 17:42:01 深夜i     --     --
C++ for循环 右半菱形

右半菱形指的是只有右半部分的菱形,其结构如下图所示:


 *

***

*****

***

 *

要使用C++语言输出右半菱形,我们可以使用for循环来实现。首先,我们需要确定输出的行数和每行输出的字符数,即菱形的大小。假设菱形大小为5,那么我们需要输出5行,每行分别输出1、3、5、3、1个字符,其中空格和星号均可。


 *    // 第1行:1个星号

***    // 第2行:3个星号

*****   // 第3行:5个星号

***    // 第4行:3个星号

 *    // 第5行:1个星号

根据以上规律,我们可以使用嵌套的for循环来输出右半菱形。外层循环控制行,内层循环控制每行输出的字符数,具体代码如下:


#include <iostream>

using namespace std;

int main() {

  int size = 5;      // 菱形大小

  int half = size / 2;  // 右半部分大小

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

    for (int j = 0; j < half - i; j++)   // 打印行开头的空格

      cout << " ";

    

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

      cout << "*";

    }

    cout << endl;

  }

  for (int i = half - 1; i >= 0; i--) {  // 外层循环控制行

    for (int j = 0; j < half - i; j++)   // 打印行开头的空格

      cout << " ";

    

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

      cout << "*";

    }

    cout << endl;

  }

  return 0;

}

以上代码中,我们首先定义了菱形大小为5,然后计算出右半部分大小为2。接着使用两个for循环,分别输出上半部分和下半部分。其中外层循环控制行,内层循环控制每行输出的字符数。在内层循环中,我们先根据行数打印行开头的空格,然后根据公式计算出每行应该输出的星号数,最后输出星号即可。

执行以上代码,可以得到如下输出结果:


 *

***

*****

***

 *

通过以上代码,我们可以使用C++语言输出右半菱形。如果需要输出左半菱形,只需要将上述代码中的空格和星号顺序交换即可。

  
  

评论区

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