题目:输入一个数,打印一个三角形(五)

各位大佬们,小白菜我又来啦~~~

1.题目:

输入一个数,打印一个三角形(五)

输入五,得到如下结果

image.png

2.分析:

(1)这道题乍一眼看好像是不知道从何下手,但是我们仔细观察观察和输入一个数,打印一个三角形(三)相比,这道题是不是只是图形里面的“ * ”换成了变化的数字,而这个变化是如何的呢?我们现在来进行分析。

(2)如果设置行数为n,第几行为i,那么空格的个数可以表示为总行数-第几行,即n-i;

(2)我们不妨将三角形里面的数字从中间分成两部分,那么左边的数字就是从1开始一直到中间的数字结束,而中间的数字恰好就是所在的行数,那么左边的数字为:1~i;右边的数字我们可以观察到为中间的数字开始每次减少1,一直到1位置停止输出,那么右边的数字为:i-1~1。这样分析之后和输入一个数,打印一个三角形(三)中的图形就没什么区别了。只要再写一个内循环用来输出右端的数字即可。

(3)代码:

#include<stdio.h>
int main()
{
	int n;
	scanf("%d", &n);
	for (int i = 1; i <= n; i++)
	{
		for (int j = 1; j <= n - i; j++)
		{
			printf(" ");
		}
		for (int k = 1; k <= i; k++)
		{
			printf("%d", k);
		}
		for (int m = i - 1; m >= 1; m--)
		{
			printf("%d", m);
		}
		printf("\n");
	}
	return 0;
}

(4)运行结果:

(5)补充:

这题主要是要对三角形里面的数字的规律进行分析,因为图形数字是左右对称的所以可以考虑将图形的左右两边分别利用for循环进行输出,那么就要分析出循环里面变量的范围。左边输出时数字从1~i;右边数字从i-1~1。因此只需要对打印一个三角形(三)中内循环循环条件和输出进行修改即可。

好啦,希望大家也能收获满满呀,下题见~~~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值