C++打印杨辉三角形
2015-08-22 15:05
162 查看
打印出以下的杨辉三角形(要求打印出10行)
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 1
…………
要求打印出10行
杨辉三角形:端点数为1,每个数等于它肩上两个数之和。
#include "stdafx.h"
#include<iostream>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
int array[10][10]; //定义一个10*10的二维数组
int i,j;
for(i=0;i<10;i++)
{
for(j=0;j<10;j++)
{
array[i][j]=0; //赋初值,使数组的每个元素都为0
}
}
for(i=0;i<10;i++)
{
for(j=0;j<10;j++)
{
if(j==0)
{
array[i][j]=1; //使第一列上每个数都为1
}
}
}
for(i=0;i<10;i++)
{
for(j=0;j<10;j++)
{
if(j>0&&i>0&&j<=i) //这里j要求小于等于i,这样就可以只在三角形中进行需要的运算
{
array[i][j]=array[i-1][j-1]+array[i-1][j]; //杨辉三角形的特性,一个数等于它肩上两数之和,也就是 array[i][j]=array[i-1][j-1]+array[i-1][j];
}
}
}
for(i=0;i<10;i++)
{
for(j=0;j<=i;j++) //只输出三角形,而不是整个矩阵
{
cout<<array[i][j]<<" ";
}
cout<<endl; //输出完一行后,就可以换行了。
}
return 0;
}
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 1
…………
要求打印出10行
杨辉三角形:端点数为1,每个数等于它肩上两个数之和。
#include "stdafx.h"
#include<iostream>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
int array[10][10]; //定义一个10*10的二维数组
int i,j;
for(i=0;i<10;i++)
{
for(j=0;j<10;j++)
{
array[i][j]=0; //赋初值,使数组的每个元素都为0
}
}
for(i=0;i<10;i++)
{
for(j=0;j<10;j++)
{
if(j==0)
{
array[i][j]=1; //使第一列上每个数都为1
}
}
}
for(i=0;i<10;i++)
{
for(j=0;j<10;j++)
{
if(j>0&&i>0&&j<=i) //这里j要求小于等于i,这样就可以只在三角形中进行需要的运算
{
array[i][j]=array[i-1][j-1]+array[i-1][j]; //杨辉三角形的特性,一个数等于它肩上两数之和,也就是 array[i][j]=array[i-1][j-1]+array[i-1][j];
}
}
}
for(i=0;i<10;i++)
{
for(j=0;j<=i;j++) //只输出三角形,而不是整个矩阵
{
cout<<array[i][j]<<" ";
}
cout<<endl; //输出完一行后,就可以换行了。
}
return 0;
}
相关文章推荐
- Effective C++ 条款9 决不在构造和析构过程后调用虚函数
- bcb 6.0工程平移C++ builder xe8环境
- C++基础知识
- 二叉树的前、中、后序遍历与重构问题
- 归并排序(C/C++)
- C++ 4 种具有更 为准确语义的新强制转换类型
- C Primer Plus 学习笔记
- c++ primer 复习-函数
- C++内存分配一:C++程序内存的基本组成
- C语言求素数的算法
- C++中将string类型转换为int, float, double类型 主要通过以下几种方式:
- C++ int类型转换string类型
- C++常见面试
- C++面试常见题目问与答(汇总一)
- POJ C++程序设计 编程题#4:魔兽世界之一:备战
- 图解C++
- C#在C++编写的DLL中注册函数并回调
- C语言快排
- C++ Primer 5e chapter 12
- C++ Primer 5e chapter 11