21xrx.com
2024-12-22 23:52:02 Sunday
登录
文章检索 我的文章 写文章
C++用for循环打印空心菱形
2023-07-04 20:50:14 深夜i     --     --
C++ for循环 空心 菱形

在C++中,利用循环语句可以方便地打印出各种图形。其中空心菱形也是一种比较常见的图形,下面介绍如何用for循环打印出空心菱形。

首先需要明确一下空心菱形的特点:由于菱形的边缘并不是一个实心的图形,而是由斜线构成的,因此需要注意一下打印方式。具体实现步骤如下:

1. 定义菱形的大小

首先需要定义菱形的大小,包括菱形的边长以及整个菱形的行数。

2. 初始化第一层循环

用两个for语句,一个用于控制循环的次数,另一个用于控制空格符号的个数。

3. 初始化第二层循环

在for循环的内部,我们需要再次启用一个循环语句,用于控制菱形边缘的打印。

4. 打印空格或者边框

根据当前菱形所处的位置,可以选择打印空格或者边框符号。一般情况下,菱形的第一行以及最后一行是没有空格的,而中间其他的行都需要打印一定数量的空格符号。

5. 输出结束符

每一行的输出结束后,需要及时添加一个换行符。

6. 完善空心菱形的样式

由于空心菱形不同于普通的菱形,因此我们需要采用特殊的打印方式来添加斜线。

整个代码的实现过程如下:


#include<iostream>

using namespace std;

int main()

{

  int n;

  cout << "请输入空心菱形的大小:";

  cin >> n;

  //使用两次for循环打印菱形

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

  {

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

    

      cout<<" ";

    

    for (int j=0; j<2*i-1; j++)

    {

      if (j == 0 || j == 2*i-2)

      {

        cout << "*";

      } else

        cout << " ";

      

    }

    cout << endl;

  }

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

  {

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

    

      cout << " ";

    

    for (int j=0; j<2*i-1; j++)

    {

      if (j == 0 || j == 2*i-2)

      {

        cout << "*";

      } else

        cout << " ";

      

    }

    cout << endl;

  }

  return 0;

}

值得注意的是,本代码中采用了特殊的if语句来控制菱形的边缘问题。对于打印在左侧和右侧的边框,可以在if语句内部添加条件。这样就能够容易地生成一个漂亮的空心菱形了。

  
  

评论区

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