码迷,mamicode.com
首页 > 其他好文 > 详细

1_12 杨辉三角形

时间:2017-12-29 23:38:48      阅读:344      评论:0      收藏:0      [点我收藏+]

标签:include   std   else   str   ++   杨辉三角形   eof   int   空格   

输出以下的杨辉三角形   行数n在程序中输入
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1

观察规律:  从第3排起除第一个和最后一个外的其他数都是上一行的数和上一行的数左边的数两者的和。

代码如下:

 1 #include <stdio.h>
 2 #include <string.h>  //使用memset函数需包含此头文件 
 3 #define maxn 34     //定义常量 
 4 int arr[maxn][maxn];  //定义二维数组 
 5 
 6 int main()
 7 {
 8     int n, i, j;
 9     scanf("%d",&n);
10     memset(arr, 0, sizeof(arr));  //把数组每一项赋值为0 
11     for(i=0;i<n;i++)
12     {
13         //循环依次把每一行的第一个和最后一个赋值为1 
14         arr[i][0] = 1;  
15         arr[i][i] = 1;
16         //循环判断每一行的每一个是不是第一个或最后一个
17         //若是采取以下的算法逻辑: 其值为上面的和上面左边的相加 
18         for(j=0;j<=i;j++)
19         {
20             if(j!=0&&i!=j) arr[i][j] = arr[i-1][j-1]+arr[i-1][j];
21         }
22     } 
23     
24     for(i=0;i<n;i++)
25     {
26         for(j=0;j<=i;j++)
27         {    //避免输出多余的空格 
28             if(j!=i)
29                 printf("%d   ",arr[i][j]);
30             else
31                 printf("%d",arr[i][j]);
32         }    
33         printf("\n");  //换行 
34     }
35     
36     return 0;
37 } 

 

1_12 杨辉三角形

标签:include   std   else   str   ++   杨辉三角形   eof   int   空格   

原文地址:https://www.cnblogs.com/wyb666/p/8146572.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!