程序设计入门12 杨辉三角
发布日期:2021-05-08 12:50:51 浏览次数:21 分类:精选文章

本文共 915 字,大约阅读时间需要 3 分钟。

题目描述

按要求输入如下格式的杨辉三角

1

1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1

最多输出10层

输入

输入只包含一个正整数n,表示将要输出的杨辉三角的层数。

输出

对应于该输入,请输出相应层数的杨辉三角,每一层的整数之间用一个空格隔开

样例输入

5

样例输出

11 11 2 11 3 3 11 4 6 4 1

一,错误解法1(用了一维数组)

#include
using namespace std;int a[10] = {};int main(){ int n; scanf("%d",&n); a[1] = 1; for(int i=1;i<=n;i++) { for(int j=1;j<=i;j++) { a[j]=a[j-1]+a[j]; printf("%d ",a[j]); if((j==i)&&j!=n) { printf("\n"); } } }}

二,错误解法2(未分端点和非端点讨论)

#include
using namespace std;int a[11][11] ={0,0,0,0,0,0,0,0,0,0,0};int main(){ int n; scanf("%d",&n); a[1][1]=1; for(int i=1;i<=n;i++) { for(int j=1;j<=i;j++) { a[i][j]=a[i-1][j-1]+a[i-1][j]; } } for(int i=1;i<=n;i++) { for(int j=1;j<=i;j++) { printf("%d ",&a[i][j]); if((j==i)&&(j!=n)) { printf("\n"); } } } return 0;}

三,正确解法

#include
using namespace std;int a[11][11];int main(){ int n; scanf("%d",&n); for(int i=0;i

 

上一篇:程序设计入门13 指针对数组最大最小值定位下标
下一篇:程序设计入门11 三个数之间排序(按a,b,c)输出版

发表评论

最新留言

不错!
[***.144.177.141]2025年04月16日 05时11分05秒