21xrx.com
2024-06-03 00:20:55 Monday
登录
文章检索 我的文章 写文章
C++实现字母菱形的打印
2023-07-10 12:58:32 深夜i     --     --
C++ 字母菱形 打印

C++是一种强大的编程语言,可以实现各种各样的功能和应用,包括打印字母菱形。本文将介绍使用C++实现字母菱形打印的方法。

首先,我们需要了解字母菱形的基本规则。字母菱形是由字母排列组成的菱形图案,其中字母的排列方式会随着行数的增加而变化。例如,当行数为5时,字母菱形的样式如下:

 A 

BCD

EFGHI

JKL

 M 

我们可以看到,字母菱形的中心点处是字母M。从中心点向外,字母的个数依次递增,再递减。因此,我们可以根据层数来确定每一行打印的字母个数,并根据规律进行排列。以下是实现字母菱形打印的C++代码:

#include

using namespace std;

int main() {

  int n;

  cout << "请输入菱形的边长:";

  cin >> n;

  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 < i) {

        cout << (char)('A' + j + i - 1);

      } else {

        cout << (char)('A' + 2 * i - j - 2);

      }

    }

    // 打印右半部分字母

    for (int j = 2 * i - 3; j >= 0; j--) {

      if (j < i - 1) {

        cout << (char)('A' + j + i);

      } else {

        cout << (char)('A' + 2 * i - j - 3);

      }

    }

    // 换行

    cout << endl;

  }

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

    // 打印空格

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

      cout << " ";

    // 打印左半部分字母

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

      if (j < i) {

        cout << (char)('A' + j + i - 1);

      } else {

        cout << (char)('A' + 2 * i - j - 2);

      }

    }

    // 打印右半部分字母

    for (int j = 2 * i - 3; j >= 0; j--) {

      if (j < i - 1) {

        cout << (char)('A' + j + i);

      } else {

        cout << (char)('A' + 2 * i - j - 3);

      }

    }

    // 换行

    cout << endl;

  }

  return 0;

}

在代码中,我们首先通过cin获取用户输入的边长n。接着,我们使用两个for循环来打印每一行的空格和字母。在每一行打印的字母中,我们通过if-else语句来判断当前字符是应该按照递增还是递减的顺序打印。

最后,我们再通过反向遍历的循环来打印下半部分的字母菱形。

代码运行后,我们就可以在控制台上看到输出的字母菱形了。这个程序非常实用,可以用于C++课程的练习和编程竞赛的考察。

  
  

评论区

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