025打印杨辉三角

本文详细介绍了一种使用C语言编程实现杨辉三角的方法。文章首先介绍了杨辉三角的基本概念,然后通过三个for循环实现了杨辉三角的生成和打印。第一个for循环用于初始化每行的首尾元素为1,第二个for循环用于计算中间元素的值,第三个for循环用于打印结果。此外,还提供了一个完整的代码示例,以及输出结果的截图。

1.题目

使用杨辉三角打印至控制台。

2.代码

#include<stdio.h>
//#define N 14
int main(void)
{
	int i, j, k, n = 0, a[14][14];//定义二维数组
	while (n<=0||n>=13)
	{
		printf("请输入要打印的行数:");
		scanf("%d", &n);
	}

	printf("%d行杨辉三角如下:\n", n);
	for (i = 1; i <= n; i++)
	{
		a[i][1] = a[i][i] = 1;//每行第一列元素全为1		对角线元素全为1
	}
	for (i = 3; i <= n; i++)//for循环范围从第三行开始到第n行
	{
		for (j = 2; j <= i-1; j++)//for循环范围从第2列开始到该行行数减一列为止
		{
			a[i][j] = a[i - 1][j - 1] + a[i - 1][j];//第i行j列等于第i-1行j-1列的值加上第i-1行j列的值
		}
	}
	for (i = 1; i <= n; i++)
	{
		for (k = 0; k < n-i; k++)
		{
			printf("   ");//空格占位
		}
		for (j = 1; j <= i; j++)
		{
			printf("%6d", a[i][j]);//打印所有数字
		}
		printf("\n");
	}
	return 0;
}

3.个人见解

关于杨辉三角的概念,参照百度百科的杨辉三角即可。
对于杨辉三角,通过观察得知,杨辉三角的两边均为1。
而且是依次向中间递增的,在最中间的位置达到最大值。
如若,该行为双数,则最大值有两个;单数,则最大值仅有一个。

所以,第一个for循环就是需要,在程序中表达出来就是当i=1时,a[i][1]=a[i][i]=1。第一位和最后一位均为1。
而从第三行开始,中间的数就开始进行了变化。而变化规律为每个数等于它上方的两数之和。
故而,添加第二个for循环。在其中添加——a[i][j] = a[i - 1][j - 1] + a[i - 1][j] 。
对于第三个for循环,仅仅只是作为判断,判断其如果是数则添加,不是数则空格输出。

4.输出结果截图

025打印杨辉三角

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值