C++程序 打印三角形图案

C++程序 打印三角形图案

C++中,我们可以通过代码实现打印各种形状的图案,其中包括打印三角形图案。接下来就来学习一下如何通过C++程序来打印三角形图案。

打印以”*”为素材的等腰三角形

首先我们来看如何打印一个以”*”为素材的等腰三角形。

#include <iostream>
using namespace std;

int main()
{
    int n; // 三角形的高度
    cout << "请输入三角形的高度:";
    cin >> n;
    for (int i = 1; i <= n; i++)
    {
        for (int j = 1; j <= n - i; j++)
        {
            cout << " "; // 打印空格
        }
        for (int j = 1; j <= 2 * i - 1; j++)
        {
            cout << "*"; // 打印"*"
        }
        cout << endl; // 换行
    }
    return 0;
}

代码中使用了两个循环来实现打印三角形的功能,第一个循环用于控制行数,第二个循环用于控制列数。其中,第一个循环使用变量i表示行数,第二个循环使用变量j表示列数。在第一个循环中,每当进入一行时,我们先打印一些空格,用于将这行打印出来的”“移动到中间的位置;在第二个循环中,我们先打印一些”“用于表示三角形的底部边长,并且由于是等腰三角形,因此每一行的”*”数量为2i-1个。

代码运行结果如下:

请输入三角形的高度:5
    *    
   ***   
  *****  
 ******* 
*********

可以看到打印出了一个高为5的等腰三角形,而在第一层中,有4个空格用于填补左侧位置。

打印由自定义字符构成的等腰三角形

上面的代码是用”*”字符来打印等腰三角形的,我们也可以使用自定义的字符来打印,比如空格、”“、”#”等。下面的代码实现了使用”“字符来打印三角形。

#include <iostream>
using namespace std;

int main()
{
    int n; // 三角形的高度
    cout << "请输入三角形的高度:";
    cin >> n;
    char ch; // 自定义的字符
    cout << "请输入要用来打印三角形的字符:";
    cin >> ch;
    for (int i = 1; i <= n; i++)
    {
        for (int j = 1; j <= n - i; j++)
        {
            cout << " "; // 打印空格
        }
        for (int j = 1; j <= 2 * i - 1; j++)
        {
            cout << ch; // 打印自定义的字符
        }
        cout << endl; // 换行
    }
    return 0;
}

只需要从输入中获取一个字符,就可以用此字符来代替原先的”*”字符,从而打印出自定义字符构成的等腰三角形。

代码运行结果如下:

请输入三角形的高度:4
请输入要用来打印三角形的字符:
  $$$$$$$

打印倒立的等腰三角形

上面的代码实现了正立的等腰三角形的打印,我们也可以通过一些改动,让其变为倒立的等腰三角形。

#include <iostream>
using namespace std;

int main()
{
    int n; //三角形的高度
    cout << "请输入三角形的高度:";
    cin >> n;
    char ch; // 自定义的字符
    cout << "请输入要用来打印三角形的字符:";
    cin >> ch;
    for (int i = n; i >= 1; i--)
    {
        for (int j = 1; j <= n - i; j++)
        {
            cout << " "; // 打印空格
        }
        for (int j = 1; j <= 2 * i - 1; j++)
        {
            cout << ch; // 打印自定义的字符
        }
        cout << endl; // 换行
    }
    return 0;
}

与原先代码相比,改动的地方仅仅是控制行数的循环语句,将其改为倒序循环就可以打印倒立的等腰三角形。

代码运行结果如下:

请输入三角形的高度:4
请输入要用来打印三角形的字符:#
#######
 #####
  ###
   #

可以看到,输入4后,程序打印出了一个以”#”字符构成的倒立等腰三角形。

打印实心的等腰三角形

上面的代码打印的三角形是空心的,我们也可以通过增加一些代码打印出实心的等腰三角形。

#include <iostream>
using namespace std;

int main()
{
    int n; // 三角形的高度
    cout << "请输入三角形的高度:";
    cin >> n;
    char ch; // 自定义的字符
    cout << "请输入要用来打印三角形的字符:";
    cin >> ch;
    for (int i = 1; i <= n; i++) // 打印上半部分
    {
        for (int j = 1; j <= n - i; j++)
        {
            cout << " "; // 打印空格
        }
        for (int j = 1; j <= 2 * i - 1; j++)
        {
            if (j % 2 == 0)
                cout << " "; // 打印空格
            else
                cout << ch; // 打印自定义的字符
        }
        cout << endl; // 换行
    }
    for (int i = n - 1; i >= 1; i--) // 打印下半部分
    {
        for (int j = 1; j <= n - i; j++)
        {
            cout << " "; // 打印空格
        }
        for (int j = 1; j <= 2 * i - 1; j++)
        {
            if (j % 2 == 0)
                cout << " "; // 打印空格
            else
                cout << ch; // 打印自定义的字符
        }
        cout << endl; // 换行
    }
    return 0;
}

在原先代码的基础上,我们新增了两个循环用于打印三角形的下半部分,同时还加入了一个判断语句,用于打印空心部分。

代码运行结果如下:

请输入三角形的高度:5
请输入要用来打印三角形的字符:#
    #
   # #
  # # #
 # # # #
# # # # #
 # # # #
  # # #
   # #
    #

从结果中可以看到,打印出了一个高为5的实心等腰三角形。

结论

通过以上的示例代码,我们可以看到,在C++中,我们可以通过循环控制语句和判断语句来打印出各种形状的图案,包括等腰三角形。不同的字符和不同的条件语句,都可以让图案呈现出不同的形态,常见的形状比如矩形、正方形、三角形等,只要我们理解原理和掌握一些基础语法,就可以轻松地实现它们的打印。C++是一种功能强大的编程语言,它不仅可以实现图形打印,还可以进行更加复杂的编程工作。希望这篇文章对你有所启发,让你更好地学习和掌握C++语言。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程

C++ 示例