21xrx.com
2024-09-19 10:11:00 Thursday
登录
文章检索 我的文章 写文章
用C++的for循环打印菱形
2023-07-05 09:04:59 深夜i     --     --
C++ for循环 菱形 打印

在学习编程过程中,循环结构是不可或缺的一部分。而for循环是最基础也是最常用的循环结构之一。在本文中,我们将介绍如何使用C++的for循环打印出菱形。

菱形是一种基础的图形,由两个三角形组成,一般情况下被用于编程练习。我们可以使用两个嵌套的for循环,分别控制每一行的空格和星号。

首先,我们需要思考菱形的大小。假设菱形由10行组成,中间行为第5行,则其左右两侧的行数应该分别为1、3、5、7、9行。因此,我们可以设置一个循环,使其在1~5之间循环,每次循环增加2行。

接下来,我们需要确定每行前面的空格数量。我们可以使用另一个嵌套的for循环,在每行打印星号之前,先打印相应数量的空格。具体来说,我们可以在每次外层循环中,使用内层循环打印N-i个空格,其中N为菱形总行数,i为当前循环变量值。这样,我们就可以控制每行前面的空格数量。

接着,我们只需要在每行的空格后面打印星号即可。同样地,在每次内层循环中,使用另一个循环打印2i-1个星号。最后,我们需要在每行结尾打印回车符,以便接下来的一行可以从新的一行开始打印。

下面是完整的C++代码:


#include <iostream>

using namespace std;

int main() {

  int N = 10; // 菱形总行数

  for (int i = 1; i <= N/2+1; i++) { // 打印上半部分

    for (int j = 1; j <= N-i; j++) // 打印空格

      cout << " ";

    

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

      cout << "*";

    }

    cout << endl; // 换行

  }

  for (int i = N/2; i >= 1; i--) { // 打印下半部分

    for (int j = 1; j <= N-i; j++) // 打印空格

      cout << " ";

    

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

      cout << "*";

    }

    cout << endl; // 换行

  }

  return 0;

}

通过运行上述代码,我们就可以在命令行窗口中看到一个漂亮的菱形了。值得注意的是,因为菱形是由两个三角形组成的,所以我们需要分两次打印,第一次打印上半部分,第二次打印下半部分。在打印下半部分时,循环变量i的取值范围应该是从N/2到1,因为下半部分的行数也是从1到N/2+1变化的,只不过是从大到小而已。

最后,要注意掌握C++中的循环结构是一条漫长的路程,需要不断的练习和思考。通过打印菱形这个练习,相信读者能够更好地理解和掌握循环结构的用法。

  
  

评论区

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