计算用杨辉三角

声明

由于本人C++使用能力一直下滑(毕竟知道它没用-不考竞赛之后就没认真用过了)所以有BUG不要找我,我现在已经没有能力修他们了。。。。

本人的C++版本较早可能新版无法运行
#include <iostream>
using namespace std;
//返回杨辉三角第x行第y列的值,起始行为第0行
int SanJiaoYang(int x,int y);
int main()
{
int RowCount,i,j,k;
cout << "请输入杨辉三角的行数:";
while(cin >> RowCount)
{
for(i = 0;i < RowCount;++i)
{
for(j = 1;j < RowCount - i;++j)//打印第i行第一个元素前面的空格
{
cout << " ";
}
for(k = 1;k <= i + 1;++k)//打印第i行的所有元素
{
cout << SanJiaoYang(i,k) << " ";
}
cout << endl;
}
cout << "请输入杨辉三角的行数:";
}
return 0;
}
//返回杨辉三角第x行第y列的值,起始行为第0行
int SanJiaoYang(int x,int y)
{
int z;
if((y == 1) || (y == x + 1))
{
z = 1;
}
else//y!=1且y!=x
{
z = SanJiaoYang(x - 1,y - 1) + SanJiaoYang(x - 1,y);
}
return z;
}