您的位置:首页 > 编程语言 > C语言/C++

C++打印杨辉三角

2015-11-27 15:17 555 查看
  简单就不多说了。这是下三角形的杨辉三角。

//
//  main.cpp
//  yhsj
//
//  Created by MadMarical on 15/11/27.
//  Copyright (c) 2015年 com. All rights reserved.
//

#include <iostream>

using namespace std;

const int maxn = 100;
int angle[maxn][maxn];

int main(int argc, const char * argv[])
{
int inp;
cin>>inp;
memset(angle, 0, sizeof(angle));

for (int i = 0; i != inp; ++ i)
{
angle[i][0] = 1;
angle[i][i] = 1;
}

for (int i = 2; i != inp; ++ i)
{
for (int j = 1; j != inp; ++j)
{
angle[i][j] = angle[i - 1][j - 1] + angle[i - 1][j];
}
}

for (int i = 0; i != inp; ++ i)
{
for (int j = 0; j != inp; ++ j)
{
if (angle[i][j] != 0)
{
cout<<angle[i][j]<<" ";
}
}
cout<<endl;
}
return 0;
}


反思:

1.如何打印一个等腰的杨辉三角呢,借助C可以用。只用C++的话,输入输出的格式控制还有问题,但是我貌似在哪里看到过一个经典的解法,搞忘记了。回去得翻书了。

for(h=0;h<10;h++)
{
for(j=0;j<10-h;j++)

  {

     printf("  ");
for(j=0;j<=h;j++)
{
printf("%3d ",i[h][j]);
}

  }
printf("\n");
}


View Code

2.下标的控制绝对要精准。。。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: