【程序设计】
题目:打印杨辉三角形(10行)
要求:使用二维数组来完成计算
数组元素的输出宽度为4,使用setw函数来实现宽度控制
样例:
*调整前*
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
1 6 15 20 15 6 1
1 7 21 35 35 21 7 1
1 8 28 56 70 56 28 8 1
1 9 36 84 126 126 84 36 9 1
*调整后的金字塔*
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
1 6 15 20 15 6 1
1 7 21 35 35 21 7 1
1 8 28 56 70 56 28 8 1
1 9 36 84 126 126 84 36 9 1
请按任意键继续. . .
代码如下:
#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
int yang[10][10];
/**********Program**********/
cout<<"*调整前*"<<endl;
int i,j;
for(i=0;i<10;i++)
for(j=0;j<10;j++)
yang[i][j]=0;
for(i=0;i<10;i++)
{
yang[i][0]=1;
yang[i][i]=1;
for(j=1;j<=i;j++)
{
yang[i][j]=yang[i-1][j-1]+yang[i-1][j];
}
}
for(i=0;i<10;i++)
{
for(j=0;j<=i;j++)
{
cout<<setw(4)<<yang[i][j];
}
cout<<endl;
}
cout<<"*调整后的金字塔*"<<endl;
for(i=0;i<10;i++)
{
for(j=0;j<9-i;j++)
cout<<" ";
for(j=0;j<=i;j++)
cout<<setw(4)<<yang[i][j];
cout<<endl;
}
/********** End **********/
return 0;
}