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++语言。