2043:【例5.11】杨辉三角形时间限制: 1000 ms 内存限制: 65536 KB 提交数: 20859 通过数: 13613 【题目描述】例5.11 打印杨辉三角形的前n(2≤n≤20)行。杨辉三角形如下图: 当n=5时 1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
输出: 1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
【输入】输入行数n。 【输出】输出如题述三角形。n行,每行各数之间用一个空格隔开。 【输入样例】5 【输出样例】1
1 1
1 2 1
1 3 3 1
1 4 6 4 1 我弄了一个二维数组,因为一行比上一行多一个,行列相同时也是1,先弄出第一项和最后一项; 然后再从第三行的第二项开始弄到数组中。最后输出 |
教学备忘录:编辑 |
#include<iostream> #include<cmath> int a[25][25]; #include<cstring> using namespace std; int main() { int i,n,m,j; scanf("%d",&n); for(i=0;i<n;i++){//先存放第一项和最后一项的数据 a[i][i]=1; a[i][0]=1;} for(i=2;i<n;i++)//从第三行, for(j=1;j<i;j++) //第二项开始,j<i 是不破坏最后一项(即j=i这一项) a[i][j]=a[i-1][j-1]+a[i-1][j];
for(i=0;i<n;i++){ for(j=0;j<=i;j++) printf("%d ",a[i][j]); printf("\n"); } return 0; } |