用两行二维数组解决《杨辉三角》问题
问题:输出n行杨辉三角。
【核心思想】
使用两行数组交替相加,实时更新和打印数据。
下面展示一些 内联代码片
。
#include<stdio.h>
#include<iostream>
using namespace std;
int main()
{
int n,i;
cin>>n; //输入杨辉三角的规模
int a[2][n];
a[0][0] = 1;
a[1][0] = 1;
a[1][1] = 1;
cout<<a[0][0]<<endl;
cout<<a[1][0]<<" "<<a[1][1]<<endl; //常规打印前两行数据
int count=3; //使用count来控制奇偶行
while(count<=n)
{
if(count%2==0)
{
a[1][0]=1;a[1][count-1]=1;
for(i=1;i<count-1;i++)
{
a[1][i]=a[0][i-1]+a[0][i];
}
for(i=0;i<count;i++)
{
cout<<a[1][i]<<" ";
}
cout<<endl;
count++;
}
else
{
a[0][0]=1;a[0][count-1]=1;
for(i=1;i<count-1;i++)
{
a[0][i]=a[1][i-1]+a[1][i];
}
for(i=0;i<count;i++)
{
cout<<a[0][i]<<" ";
}
cout<<endl;
count++;
}
}
return 0;
}
![输出结果展示](https://img-blog.csdnimg.cn/bc84b93c78264086b0100096913eb768.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5bCP5YWw5a2m57yW56iL,size_20,color_FFFFFF,t_70,g_se,x_16#pic_center)