文档章节

采用两个一维数组输出等腰三角形的杨辉三角

o
 osc_a22drz29
发布于 2019/03/26 19:00
字数 444
阅读 24
收藏 0

精选30+云产品,助力企业轻松上云!>>>

代码如下:

package 杨辉三角;
import java.util.Scanner;
public class 杨辉三角0 {
    public static void main(String[] args)
    {
    Scanner a = new Scanner(System.in);     
    System.out.print("输入杨辉三角的行数n:");
    int n=a.nextInt();
    int[] b=new int[100];       //创建整形数组,最大可存放100个整形
    int[] c=new int[100];       //创将两个数组,一个用来存放上一层的数据,另一个用来计算并保存本层数据
    int i,x,y;
    for(i=0;i<100;i++)        //将两个数组全部初始化,数据全为1
        b[i]=c[i]=1;
    for(i=0;i<n;i++)
        {   
            for(x=1;x<i-1;x++)
            {
                c[x]=b[x-1]+b[x];     //计算杨辉三角的过程
            }
            for(y=0;y<=n-i;y++)        //每行开头输出空格规范格式
                System.out.print(" ");
            for(x=0;x<=i-1;x++)
            {b[x]=c[x];              //进入下一层之前把本层数据转为上一层数据,给接下来的计算使用
            
            System.out.print(c[x]+" ");}
            System.out.print("\n");     //每输出一行自动换行
            }    
    }
}

 

总结心得:

(1)创建静态数组时,一定要定义数组的大小,我这里定义的大小为100

(2)计算杨辉三角时,要注意两个数组之间的关系,即c[x]=b[x-1]+b[x]

(3)嵌套的for循环作用:外层for循环是控制杨辉三角层数,内层for循环是具体的计算每个元素的数值

(4)输出格式,即开头的空格数,层数越多,开头的空格越少,用y<=n-i来控制次数

(5)这一步是最容易出错的,就是把计算完成的一行转成上一层并进行下一层的计算,一定不能直接用b=c来赋值,要用for循环一个一个元素的赋值

o
粉丝 0
博文 500
码字总数 0
作品 0
私信 提问
加载中
请先登录后再评论。
JAVA实现杨辉三角的三种方式

一、前言 既然是实现杨辉三角,就要知道什么是杨辉三角。如下图,就是两种杨辉三角。 (1)等边形状的杨辉三角 (2)直角形状的杨辉三角 在知道这两种都是杨辉三角之后,我们就来实现利用jav...

osc_z7893gdn
01/28
4
0
c语言实现打印杨辉三角

c语言实现打印杨辉三角 c语言实现打印杨辉三角 Table of Contents 1. 起因 2. 题目 3. 解题思路 4. 代码 5. 其他思路 1 起因 好久没用c写一些逻辑代码了,被前端那堆整得脑子一团乱,于是给自...

osc_271igh42
2018/06/21
3
0
杨辉三角的六种解法

1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 的三角形,其实质是二项式(a+b)的n次方展开后各项的系数排成的三角形,它的特点是左右两边全是1,从第二行起,中间的每一个数是上一行里相邻两个数之和。这个...

陌尘_9353
2018/05/28
0
0
数据结构与算法(2)——各种方法实现杨辉三角

分别用二维数组、一维数组、递归等三种方法实现杨辉三角; 杨辉三角:首尾都为1,中间数值等于其肩上两个数值之和,形如下面: 期待你更高效的算法!

thinkpadshi
06/28
0
0
以杨辉三角为例,从内存角度简单分析C语言中的动态二维数组

学C语言,一定绕不过指针这一大难关,而指针最让人头疼的就是各种指向关系,一阶的指针还比较容易掌握,但一旦阶数一高,就很容易理不清楚其中的指向关系,现在我将通过杨辉三角为例,我会用...

osc_yiec7bem
2018/07/01
2
0

没有更多内容

加载失败,请刷新页面

加载更多

科技人文丨玻璃心:承受阈值与表达

大家好,我是SKODE。 有趣的灵魂,聊科技人文。 本系列博客地址:传送门 本文转载自B站:安慰记传送门 玻璃心是网络用语,意思是: 对负面事件的接受度很低 还有对别人可能给出的负面评价非常...

osc_u9mt0sus
53分钟前
20
0
迅睿CMS 游客不允许上传附件

游客不允许上传附件 迅睿CMS系统:https://www.xunruicms.com/ 本文档原文地址:https://www.xunruicms.com/doc/752.html...

迅睿CMS-PHP开源CMS程序
53分钟前
7
0
代理,注解,接口和实现类的小测验

* retention : 保留* policy : 策略 ps : 简单测试了一下手写代理,jdk动态代理,和cglib动态代理,根据其不同的结果分析其原理 一:测试目的 主要想看一下不同的代理模式对于目标类中方法上注...

岁一
54分钟前
12
0
V-Ray 5 For 3ds Max 正式发布:超越渲染 - 知乎

15个新功能,V-Ray5助你时间更节省,渲染更出色! 作者:ChaosGroup VRay 5 For 3ds Max 已正式发布! 2分钟视频,抢先预览新功能↓ 知乎视频 www.zhihu.com V-Ray 5 for 3ds Max 新增功能 ...

osc_o9u1um45
54分钟前
0
0
毕业的笑容和悲伤永远是校园的回忆

校园的风轻轻的拂过我的脸庞,风儿显得更加凉爽, 开满火红的凤凰树,染遍了校园的每个角落, 晚上那枝头蝉儿的竞相鸣奏,唱满了令人不舍的毕业歌, 它们彷彿告诉了我们要毕业了。 毕业典礼那...

瑾123
55分钟前
7
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部