C++程序 打印钻石形状

C++程序 打印钻石形状

在本文中,我们将学习如何使用C++编写打印钻石形状的程序。这个程序并不会难倒你,只需要简单的C++基础知识就可以完成。

程序实现

首先,让我们看一下程序的实现方式。我们将使用C++中的循环和条件语句实现。具体而言,我们将使用for循环和if语句来打印一个钻石形状。

让我们看一下程序的逻辑流程:

  1. 首先,输入一个正整数n(n是奇数)。
  2. 然后,打印上半部分的钻石形状。
  3. 接着,打印下半部分的钻石形状。
  4. 最后,输出完整的钻石形状。

下面是程序的代码:

#include <iostream>
using namespace std;

int main() {
  int n, c, k, space = 1;
  cout << "Enter number of rows: ";
  cin >> n;
  space = n - 1;
  for (k = 1; k <= n; k++) {
    for (c = 1; c <= space; c++)
      cout << " ";
    space--;
    for (c = 1; c <= 2*k-1; c++)
      cout << "*";
    cout << endl;
  }
  space = 1;
  for (k = 1; k <= n - 1; k++) {
    for (c = 1; c <= space; c++)
      cout << " ";
    space++;
    for (c = 1 ; c <= 2*(n-k)-1; c++)
      cout << "*";
    cout << endl;
  }
  return 0;
}

让我们分段解释一下这个程序。

首先,我们定义了四个变量:n,c,k,和space。变量n是用户输入的正整数,变量c和k是循环变量,而变量space则是每行打印的空格数,初始值为1。

接着,我们使用了cout和cin对象,分别来显示消息和获取用户输入。用户输入的值保存在变量n中。

然后,我们计算了每行的空格数space的值。我们使用了一个for循环来打印上半部分的钻石形状。我们首先打印space个空格,然后打印2*k-1个星号,即:

    for (c = 1; c <= space; c++)
      cout << " ";
    space--;
    for (c = 1; c <= 2*k-1; c++)
      cout << "*";

接着,我们使用endl来创建一个新行。

接下来,我们使用一个for循环来打印下半部分的钻石形状。空格数从1开始增加,星号数从2*(n-k)-1开始递减。具体地,我们有:

  space = 1;
  for (k = 1; k <= n - 1; k++) {
    for (c = 1; c <= space; c++)
      cout << " ";
    space++;
    for (c = 1 ; c <= 2*(n-k)-1; c++)
      cout << "*";
    cout << endl;
  }

最后,我们使用return 0语句来结束程序。

程序运行

现在,让我们演示一下程序的运行方式。我们将使用一个例子来说明。假设我们要打印一个行数为9的钻石形状。

输入以下代码并按回车键:

Enter number of rows: 9

然后,程序将生成以下输出:

        *
       ***
      *****
     *******
    *********
   ***********
  *************
 ***************
*****************
 ***************
  *************
   ***********
    *********
     *******
      *****
       ***
        *

结论

到此为止,我们已经成功地使用C++编写了一个打印钻石形状的程序。我们学习了如何使用循环和条件语句来打印复杂的形状,同时加深了对C++基础知识的理解和应用。

在实际编程中,我们可以进一步优化这个程序的效率和可读性。本文所展示的代码仅为一个基本实现,读者可以根据自己的需求和喜好进行修改和扩展。

希望本文能够对初学者们在C++编程上有所帮助。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程

C++ 示例