zoukankan      html  css  js  c++  java
  • C++练习01 打印杨辉三角

    百度百科列出的一些性质:
      ·前提:端点的数为1.
      ·1、每个数等于它上方两数之和。
      ·2、每行数字左右对称,由1开始逐渐变大。
      ·3、第n行的数字有n项。
      ·4、第n行数字和为2^(n-1)。2的(n-1)次方
      ·5、第n行的第m个数和第n-m+1个数相等,即C(n-1,m-1)=C(n-1,n-m),这是组合数性质

    【思路一】                                                                                                             

      用队列实现

    【思路二】                                                               

    用二维数组实现

    代码:

     1 /**
     2 * 输出杨辉三角
     3 * @author CocoonFan
     4 * @date 2/27/2013
     5 */
     6 
     7 #include <iostream>
     8 #include <iomanip>
     9 using namespace std;
    10 
    11 int main()
    12 {
    13     int n;
    14     while(cout << "要打印多少行? ",cin  >> n && n > 0)
    15     {
    16         int i,j,a[n][n];
    17 
    18         //第一步:初始化
    19         for (i=0;i < n;i++)
    20         {
    21             a[i][i] = 1;
    22             a[i][0] = 1;
    23         }
    24 
    25         //第二步:循环相加
    26         for (i = 2;i < n;i++)
    27             for (j=1;j<=i-1;j++)
    28                 a[i][j]=a[i-1][j-1]+a[i-1][j];
    29 
    30         //输出
    31         for (i=0;i<n;i++)
    32         {
    33             for (j=0;j<=i;j++)
    34                 cout<<setw(4)<<a[i][j]<<" ";
    35             cout<<endl;
    36         }
    37         cout<<endl;
    38 
    39     }
    40 
    41     return 0;
    42 }


    运行结果:

  • 相关阅读:
    读书计划
    《梦断代码》读书笔记1
    合作项目5
    合作项目4
    合作项目3
    电梯调度需求分析
    合作项目2
    四则运算3程序
    合作编程
    四则运算某模块程序测试
  • 原文地址:https://www.cnblogs.com/CocoonFan/p/2935107.html
Copyright © 2011-2022 走看看