TA的每日心情 | 开心 2014-6-18 08:29 |
---|
签到天数: 14 天 [LV.3]偶尔看看II
滴水大师
 
- 积分
- 2345
|
题目
解决代码及点评
- <pre code_snippet_id="91880" snippet_file_name="blog_20131202_1_2646179" class="cpp" name="code"></pre><pre code_snippet_id="91880" snippet_file_name="blog_20131202_1_2646179" class="cpp" name="code"><pre code_snippet_id="91880" snippet_file_name="blog_20131202_1_2646179" class="cpp" name="code">/************************************************************************/
- /*
- 9. 打印如下形式的杨辉三角形
- 1
- 1 1
- 1 2 1
- 1 3 3 1
- 1 4 6 4 1
- 1 5 10 10 5 1
- 输出前10行,从 0行开始,分别用一维数组和二维数组实现
-
- */
- /************************************************************************/
- #include <stdio.h>
- #include <stdlib.h>
- #include <math.h>
-
-
-
- void main()
- {
- int arr[10][10]={0};
- for (int i=0;i<10;i++)//赋值,杨辉三角主要是需要我们发现杨辉三角的规律,就是arr[j] = arr[i-1][j-1]+arr[i-1][j],也就是说某行某列的值,等于它上一行的同列,以及前一列的值之和
- {
- for (int j=0;j<=i;j++)
- {
- if (j==0||i==j) // 这两个条件都是杨辉三角的边上,直接赋值即可
- {
- arr[j]=1;
- }
- else
- arr[j]=arr[i-1][j-1]+arr[i-1][j]; // 中间部分则用算法计算
- printf("%6d",arr[j]);
- }
- printf("\n");
- }
-
-
- system("pause");
- }</pre><br><br></pre>
|
|