21xrx.com
2024-09-19 23:55:49 Thursday
登录
文章检索 我的文章 写文章
C++循环打印图案的实现方法
2023-07-05 09:40:49 深夜i     --     --
C++ 循环 打印图案 实现方法 循环嵌套

C++循环打印图案是一种常见的编程技巧,可以用于练习使用循环语句和掌握输出格式化等基础操作,也可以用于实现一些有趣的图案展示效果。在本篇文章中,我们将介绍 C++ 循环打印图案的实现方法,从基础的矩阵输出到复杂的花式图案,让你轻松学会如何使用 C++ 语言绘制出炫酷的图形。

1. 基础的矩阵输出

最基础的图案就是矩阵,打印一个 `n*n` 的矩阵可以用两个嵌套的 `for` 循环来实现,如下所示:


int n = 5;

for (int i = 1; i <= n; i++) {

  for (int j = 1; j <= n; j++) {

    cout << "* ";

  }

  cout << endl;

}

这段代码可以输出一个 5*5 的矩阵,每个位置都是一个 `*` 和一个空格。如果想要输出一个空心的矩阵,可以在 `if` 语句中判断边缘位置输出空格,如下所示:


int n = 5;

for (int i = 1; i <= n; i++) {

  for (int j = 1; j <= n; j++) {

    if (i == 1 || i == n || j == 1 || j == n) {

      cout << "* ";

    } else

      cout << " ";

    

  }

  cout << endl;

}

2. 水平翻转和垂直翻转

对于一个已经输出的图案,我们可以通过简单的操作实现水平翻转和垂直翻转。两种翻转方式实现方法类似,只需要在打印图案时调整坐标即可,如下所示:


// 水平翻转

int n = 5;

for (int i = 1; i <= n; i++) {

  for (int j = n; j >= 1; j--) {

    cout << "* ";

  }

  cout << endl;

}

// 垂直翻转

int n = 5;

for (int i = n; i >= 1; i--) {

  for (int j = 1; j <= n; j++) {

    cout << "* ";

  }

  cout << endl;

}

3. 三角形图案

除了矩阵,我们还可以使用循环语句打印出各种形状的三角形,下面是一些常见的三角形打印代码:


// 左上直角三角形

int n = 5;

for (int i = 1; i <= n; i++) {

  for (int j = 1; j <= i; j++) {

    cout << "* ";

  }

  cout << endl;

}

// 右上直角三角形

int n = 5;

for (int i = 1; i <= n; i++) {

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

    cout << " ";

  

  for (int k = 1; k <= i; k++) {

    cout << "* ";

  }

  cout << endl;

}

// 等腰三角形

int n = 5;

for (int i = 1; i <= n; i++) {

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

    cout << "* ";

  

  for (int k = 1; k <= 2 * i - 1; k++) {

    cout << "*";

  }

  cout << endl;

}

4. 花式图案

当你熟练掌握了图案输出的基本技巧后,可以尝试使用复杂的循环语句组合出更加花式的图案效果。下面几个例子可以供你参考:


// 菱形

int n = 5;

for (int i = 1; i <= n; i++) {

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

    cout << "* ";

  

  for (int k = 1; k <= i; k++) {

    cout << "* ";

  }

  cout << endl;

}

for (int i = n - 1; i >= 1; i--) {

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

    cout << "* ";

  

  for (int k = 1; k <= i; k++) {

    cout << "* ";

  }

  cout << endl;

}

// 蛇形

int n = 5, m = 5;

for (int i = 1; i <= n; i++) {

  for (int j = 1; j <= m; j++) {

    if (i % 2 == 1) {

      cout << "* ";

    } else {

      if (j == 1 && i % 2 == 0) {

        cout << "*";

      } else if (j == m && i % 2 == 0) {

        cout << "*";

      } else

        cout << " ";

      

    }

  }

  cout << endl;

}

// 打印数字金字塔

int n = 5;

for (int i = 1; i <= n; i++) {

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

    cout << "* ";

  

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

    cout << i << " ";

  

  cout << endl;

}

总结

通过以上几个例子,相信大家已经对 C++ 的循环打印图案有了一定的了解。无论是基础的矩阵,还是花样的三角形,只要你掌握了循环语句和输出格式化等基础操作,就可以轻松实现各种需要的图案展示效果。当然,这只是循环输出图案的一个小小部分,更多更加花式的图案我们将在日后的学习中进一步探讨。

  
  

评论区

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