编写 C++ 菱形图案程序

C++C++Beginner
立即练习

💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版

介绍

在本实验中,我们将学习如何编写一个 C++ 程序,使用星号 (*) 打印出菱形图案。我们将逐步创建这个程序。


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL cpp(("`C++`")) -.-> cpp/BasicsGroup(["`Basics`"]) cpp(("`C++`")) -.-> cpp/ControlFlowGroup(["`Control Flow`"]) cpp(("`C++`")) -.-> cpp/IOandFileHandlingGroup(["`I/O and File Handling`"]) cpp/BasicsGroup -.-> cpp/variables("`Variables`") cpp/ControlFlowGroup -.-> cpp/for_loop("`For Loop`") cpp/IOandFileHandlingGroup -.-> cpp/output("`Output`") cpp/IOandFileHandlingGroup -.-> cpp/user_input("`User Input`") subgraph Lab Skills cpp/variables -.-> lab-96205{{"`编写 C++ 菱形图案程序`"}} cpp/for_loop -.-> lab-96205{{"`编写 C++ 菱形图案程序`"}} cpp/output -.-> lab-96205{{"`编写 C++ 菱形图案程序`"}} cpp/user_input -.-> lab-96205{{"`编写 C++ 菱形图案程序`"}} end

从用户获取输入

我们将在 ~/project 目录下使用以下命令创建一个名为 main.cpp 的新文件:

touch ~/project/main.cpp

我们将从用户那里获取行数作为输入。

int rows;

cout << "Enter Diamond Star Pattern Row = ";
cin >> rows;

显示图案

为了显示图案,我们将使用嵌套循环。外层循环负责控制行数,而内层循环则负责打印星号和空格。

cout << "Diamond Star Pattern\n";

for (int i = 1; i <= rows; i++) {
    for (int j = 1; j <= rows - i; j++) {
        cout << " ";
    }

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

    cout << "\n";
}

for (int i = rows - 1; i > 0; i--) {
    for (int j = 1; j <= rows - i; j++) {
        cout << " ";
    }

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

    cout << "\n";
}

我们使用两个循环来绘制菱形。首先绘制菱形的上半部分。

外层循环(第一个 for 循环)遍历菱形的每一行。我们在外层循环内部使用嵌套循环。

内层循环(两个 for 循环)为菱形的每一行打印空格和星号。

  • 第一个内层循环在星号前打印正确数量的空格。
  • 第二个内层循环打印星号。

接着,我们绘制菱形的下半部分。我们使用与上半部分类似的循环开始。外层循环从最大值递减到零(反向计数)。

要编译并运行代码,请在终端中使用以下命令:

g++ main.cpp -o main && ./main

完整代码

以下是菱形图案程序的完整代码。

#include <iostream>
using namespace std;

int main()
{
    int rows;

    cout << "Enter Diamond Star Pattern Row = ";
    cin >> rows;

    cout << "Diamond Star Pattern\n";

    for (int i = 1; i <= rows; i++) {
        for (int j = 1; j <= rows - i; j++) {
            cout << " ";
        }

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

        cout << "\n";
    }

    for (int i = rows - 1; i > 0; i--) {
        for (int j = 1; j <= rows - i; j++) {
            cout << " ";
        }

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

        cout << "\n";
    }

    return 0;
}

总结

在本实验中,我们学习了如何编写一个 C++ 程序,使用星号 (*) 打印出菱形图案。我们使用嵌套循环来显示图案。我们从简单的输入开始,逐步创建了一个可用于打印星号菱形的 C++ 程序。

您可能感兴趣的其他 C++ 教程