杨辉三角

    技术2022-07-02  79

    问题描述

    给定一个非负整数 n ,打印杨辉三角前 n+1 行。

    输入

    输入数据有若干行。每一行有一个非负整数 n )对应一种情形。

    输出

    对于每一种情形,先输出“ Case #: ”( # 为序号,从 1 起),换行;然后输出结果(参见输出样例)。输出格式说明:设置 setw(6) 使数据占 6 个字符宽;每种情形中,最后一行第一个数字出现在第 6 列。

    输入样例

    1

    2

    3

    输出样例

    Case 1:

            1

         1     1

    Case 2:

               1

            1     1

         1     2     1

    Case 3:

                  1

               1     1

            1     2     1

         1     3     3     1

     

    #include <iostream> #include <iomanip> using namespace std; int main() { int n=11; int a[22][22],i,j; int k=0; for(i=1;i<=22;i++) { a[i][1]=1; a[i][i]=1; } for(i=3;i<22;i++) for(j=2;j<=i-1;j++) a[i][j]=a[i-1][j-1]+a[i-1][j]; while(cin>>n) { cout<<"Case "<<++k<<": "<<endl; for(i=1;i<=n+1;i++) { cout<<setw(3*(n+1-i))<<""; for(j=1;j<=i;j++) cout<<setw(6)<<a[i][j]; cout<<endl; } } return 0; }   


    最新回复(0)