杨辉三角(C++)

#include <iostream>
#include <iomanip>
#include <cmath>
using namespace std;
//M后得知可以随意更改,但是本人不确定有效值的范围;所以不要改为太大的数据,以免出现不必要的数据误差。
#define M 20
//函数声明
void yhTriangle(float a[M][M],int size);

int main()
{
    int m;
    float a[M][M]={1};//数组初始化
    cin >> m ;
    //对输入的m进行判断,判断是否在定义范围内;否则重新输入数据
    if (m<1||m>M){cout <<"您输入的数据不正确"<<endl<<"请重新输入(1~"<< M <<"): ";cin >>m;}
    yhTriangle(a,m);//调用函数
    return 0;
}

void yhTriangle(float a[M][M],int size)
{
    int i,j;
    //判断size是否大于二,若大于二则进入下一步;这因为本人没有找到从零开始到最后的相关关系,所以进行分布判断计算
    if(size>2)
    //若大于二则计算判断数据,
    for (i=1;i<size;i++)
        for (j=0;j<=i;j++)
        {
            a[i][0]=1;
            a[i][i]=1;
            a[i][j]=a[i-1][j-1]+a[i-1][j];
        }
    //数据排版并输出
    for (i=0;i<size;i++){
        for (j=0;j<=i;j++)
        cout <<fixed<<setprecision(0)<<a[i][j]<<" ";//
        //对每行数据结束时进行换行隔行,便于观察。
        cout << endl <<endl ;
    }
}

你可能感兴趣的:(杨辉三角(C++))