用C++ 的for循环输出三角形(详细解释)

本文详细介绍如何使用C++及for循环,绘制正立和倒立的三角形图案。通过逐步解析,展示如何控制空格和星号的数量,形成特定形状。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


c++用for循环输出用符号*组成的三角形

1,正立三角形,即尖角朝上

以四行为例
在这里插入图片描述

观察得知,
第一行有3个空格外加1个符号*
第二行有2个空格外加3个符号*
第三行有1个空格外加5个符号*
第四行有0个空格外加7个符号*
为了描述方便,把他们前面的空格各加一个
即:
第一行有4个空格外加1个符号*
第二行有3个空格外加3个符号*
第三行有2个空格外加5个符号*
第四行有1个空格外加7个符号*

//一共有四行,因此第一个for循环是打印出行数,i就是第几行
 for (int i = 1; i <= 4; i++)
	 
	{
//第二个for循环是打印出三角形每一行前面的空格数,最大的空格数等于最大行数,然后依次减一
		for (int j = 1; j <= 4 - i + 1; j++)
			cout << " ";
//第三个for循环是打印出组成三角形的符号*,有1,3,5,7看出里面有规律,即2*n-1
		for (int k = 1; k <= 2 * i - 1; k++)
			cout << "*" ;
//在打印出当前行的空格与符号*之后,进行换行跳转
		cout << endl;

	}

如果要打印n行的三角形,把里面的数字4换成n即可,完整代码如下:

#include <iostream>
using namespace std;

int main()
{
	int n;
	cout << "输入几行" << endl;
	cin >> n;
	cout<<"输出三角形"<<endl;
	 
	for (int i = 1; i <= n; i++)
	{
		for (int j = 1; j <= n - i + 1; j++)
			cout << " ";
		for (int k = 1; k <= 2 * i - 1; k++)
			cout << "*" ;
		cout << endl;
	}
}

在这里插入图片描述

2,倒立三角形,尖角朝下

同样以四行三角形为例
在这里插入图片描述

观察可知:
第一行有1个空格外加7个符号*
第二行有2个空格外加5个符号*
第三行有3个空格外加3个符号*
第四行有4个空格外加1个符号*

//第一个for循环打印出行数,一共有四行
for (int ii = 1; ii <= 4; ii++)
	{
//第二个for循环打印出空格数,空格数等于对应的行数数字,即第一行一个,第二行两个
		for (int jj = 1; jj <= ii; jj++)
			cout << " ";
//第三个for循环打印出符号*的个数,有观察可知,7,5,3,1符合2*n-1,其中n随行数的变化而变化
		for (int kk = 1; kk <= 2 * (4 - ii) + 1; kk++)
			cout << "*";
		cout << endl;
	}

同理,如果要打印出n行的倒立三角形,把里面的数字4改成n即可。


注:第二个for循环打印的是前面的空格个数,其中的j可以自己改变,我为了描述和观察方便在每一行的前面各加了一个空格,如果不加的话也不影响,在第二个for循环那里把j的赋值等于1改成等于0,再在判断条件那里修改一下即可。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值