利用二维数组打出杨辉三角
第1页/共1页
利用二维数组打出杨辉三角
基本思路:
一、构建N行N列二维数组并初始化,使所有数组元素都为0,如下:
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
二、初始化:每行第一个位置、第i个位置(i与行号相同)填1,如下:
1 0 0 0 0
1 1 0 0 0
1 0 1 0 0
1 0 0 1 0
1 0 0 0 1
三、进行杨辉三角运算:从第三行开始,每行从第二列开始到第n-1列为止,都需把0换成相应的杨辉三角数,规则是:
第i行第j列元素 = 第i-1行第第j-1个元素 + 第i-1行第j个元素。
比如,第3行第2个元素 = 第2行第1个元素 + 第2行第2个元素 = 1 + 1 = 2;
处理后结果如下:
1 0 0 0 0
1 1 0 0 0
1 2 1 0 0
1 3 3 1 0
1 4 6 4 1
四、打印
打印每行的非零元素,即:只需打印每行的第一个到第i个元素,每行打印后加\n换行。
结果如下:
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
五、思考:如何能将杨辉三角打印成常见的“塔式” 格式,即如下所示:
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
注:
1、附件中的两个程序都是打印杨辉三角形的,其中第一个按课后题格式打印,第二个按“塔式”格式打印。
2、注意C语言数组下标。由于C语言数组下标从零开始,因此第k行下标应是k-1,第l列下标应是l-1 。
一、构建N行N列二维数组并初始化,使所有数组元素都为0,如下:
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
二、初始化:每行第一个位置、第i个位置(i与行号相同)填1,如下:
1 0 0 0 0
1 1 0 0 0
1 0 1 0 0
1 0 0 1 0
1 0 0 0 1
三、进行杨辉三角运算:从第三行开始,每行从第二列开始到第n-1列为止,都需把0换成相应的杨辉三角数,规则是:
第i行第j列元素 = 第i-1行第第j-1个元素 + 第i-1行第j个元素。
比如,第3行第2个元素 = 第2行第1个元素 + 第2行第2个元素 = 1 + 1 = 2;
处理后结果如下:
1 0 0 0 0
1 1 0 0 0
1 2 1 0 0
1 3 3 1 0
1 4 6 4 1
四、打印
打印每行的非零元素,即:只需打印每行的第一个到第i个元素,每行打印后加\n换行。
结果如下:
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
五、思考:如何能将杨辉三角打印成常见的“塔式” 格式,即如下所示:
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
注:
1、附件中的两个程序都是打印杨辉三角形的,其中第一个按课后题格式打印,第二个按“塔式”格式打印。
2、注意C语言数组下标。由于C语言数组下标从零开始,因此第k行下标应是k-1,第l列下标应是l-1 。
- 附件
第1页/共1页
您在这个论坛的权限:
您不能在这个论坛回复主题