c++实现杨辉三角:
#include<iostream>
#include<queue>using namespace std;
int main()
{
int n;
cin>>n;
int i=1;
queue<int> pre;
queue<int> out;
while(i<=n)
{
if(n==1)
{ cout<<1<<endl;
break;
}
if(i==1)
{
cout<<1<<endl;
++i;
continue;
}
else
if(i==2)
{
cout<<1<<" "<<1<<endl;
++i;
pre.push(1);
pre.push(1);
continue;
}
else
if(i>=3)
{
out.push(1);
for(int j=0;j<i-2;++j)
{
int current=pre.front();
pre.pop();
out.push(pre.front()+current);
}
out.push(1);
pre.pop();
++i;
}
for(int temp=1;temp<i;++temp)//输出该行(out)的元素;
{
int curr=out.front();
cout<<curr<<" ";
pre.push(curr);//保存该行(out)元素到(pre),作下一行的基础元素使用;
out.pop();
}
cout<<endl;
}
return 0;
}