C语言进阶之旅(每日一题)杨辉三角

Posted 一个正直的男孩

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言进阶之旅(每日一题)杨辉三角相关的知识,希望对你有一定的参考价值。

概念

  • 杨辉三角解释
  • 用处确定二项式系数
  • 这个数学模型

在这里插入图片描述

思维导图

在这里插入图片描述

思想

  • 他是一个二维数组
    创建一个二维数组
  • 这里可以看出他行和对角都是1
  • 那么先初始化他
    在这里插入图片描述
  • 而在里面中随便一个数都是由他肩上的数向加得到
  • 那么就只知道了,得到这个数需要上面那俩数
  • yh[i][j] = yh[i - 1][j - 1] + yh[i - 1][j];
    在这里插入图片描述

总工程

创建数组

  • 这里用了定义宏方便到时候更改

#define a
#defin b 
int yh[a][b];//创建一个二维数组放值
	

初始化对角

int i = 0;
	for ( i = 0; i <a; i++)//打印行第一列和对角应为他都是1
	{
		
		yh[i][0] = 1;//行
		yh[i][i] = 1;//对角
		
	}

中间的值

  • 这里i=2式应为前俩行都是1
  • 这里j为啥小于i呢,下面图解
for ( i = 2; i < a; i++)
	{
		int j = 0;
		for (j = 1; j <i; j++)//图解
		{
	yh[i][j] = yh[i - 1][j - 1] + yh[i - 1][j];
		}

	}

在这里插入图片描述

打印

  • 这里比较容易错的是j这里
  • 我那时直接想的是<a然后报错了
int j = 0;
	for ( i = 0; i <a; i++)//行
	{
		for (  j= 0;  j<=i; j++)//列
		{
			printf("%2d", yh[i][j]);
			
		}
		printf("\\n");
	}

以上是关于C语言进阶之旅(每日一题)杨辉三角的主要内容,如果未能解决你的问题,请参考以下文章

C语言进阶之旅 (每日一题)杨氏矩阵

C语言进阶之旅 (每日一题)水仙花数

C语言进阶之旅(每日一题)如何成为福尔摩斯

C语言进阶之旅 (每日一题)打印菱形

C语言进阶之旅(每日一题)字符串左旋

C语言进阶之旅(留下的足迹)