吴老师和他教的课
Would you like to react to this message? Create an account in a few clicks or log in to continue.

利用二维数组打出杨辉三角

向下

利用二维数组打出杨辉三角 Empty 利用二维数组打出杨辉三角

帖子  Admin 周二 十二月 14, 2010 10:40 pm

基本思路:

一、构建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 。
附件
利用二维数组打出杨辉三角 Attachment
杨辉三角.zip 您无权下载这里的附件。(1 Kb) 下载0次
Admin
Admin
Admin

帖子数 : 25
注册日期 : 10-12-07

http://wubinyu.gugebb.net

返回页首 向下

返回页首


 
您在这个论坛的权限:
不能在这个论坛回复主题