杨辉三角(完整代码)

杨辉三角是中国数学史上的一个伟大成就。

代码中有完整注释(有两个,原理相同)

//杨辉三角--属于等腰三角形

#include <stdio.h>
#include <stdlib.h>
#define ROW 10
#define COL 10
int main()
{

	int a[ROW][COL] = {0};//定义了一个 10行10列的空数组
	int i = 0, j = 0;//gei for循环提供
	for (i = 0; i < ROW; i++)//行
	{//两个腰都是 1
		a[i][0] = 1;//定义 每行的 第一个 都是 1
		a[i][i] = 1;//定义 每行的 最后一个 都是 1
	}
	for (i = 2; i < ROW; i++)//行
	{
		for (j = 1; j <= i; j++)//列,每列 第几行 就有几次循环 
		{
			a[i][j] = a[i - 1][j - 1] + a[i - 1][j];//这一行的 等于 上一行的 对应的那个  加上 上一行对应的前一个
		}
	}
	for (i = 0; i < ROW; i++) //行
	{
		for (j = 0; j <= COL  - i; j++) //列(根据空格个数,一共几列 第一行就有几个空格,第二行少一次,依次类推)
		{
			printf("  "); //打印空格
		}
		for (j = 0; j <= i; j++)//列
		{
			printf("%3d ", a[i][j]); 
		}
		printf("\n");
	}
	return 0;
}

代码2:

#include <stdio.h>
#define N 10

int main()
{
	int arr[N][N] = {0};//定义一个数组
	int i = 0;
	int j = 0;
	for(i=0;i<N;i++)//行
	{
		for(j=0;j<N-i;j++)//列
		{//打印空格啊
			printf("  ");		//空格个数测试出来的,跟底下的占多少位一样	
		}
		for(j=0;j<=i;j++)
		{
			if((j==0)||(j==i))//每行的第一个 和 最后一个 都是1	==>	//第i行的 第一个 和 第i个 都是1
			{
				arr[i][j] = 1;
			}else{//其他位置的数 等于他头顶的数 和头顶的前一个数 之和
				arr[i][j] = arr[i-1][j] + arr[i-1][j-1];
			}
			printf("%4d",arr[i][j]);//所占位置 测试得出
		}
		putchar(10);//打完一层 回车换行
	}
	return 0;
}

 

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值