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语言进阶之旅(每日一题)杨辉三角的主要内容,如果未能解决你的问题,请参考以下文章