Fortran Coder

查看: 16127|回复: 5
打印 上一主题 下一主题

[输入输出] 输出杨辉三角

[复制链接]

4

帖子

1

主题

0

精华

入门

F 币
35 元
贡献
25 点

规矩勋章

跳转到指定楼层
楼主
发表于 2018-6-6 11:13:55 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
很简的一个程序
parameter (n=10)
    integer a(n,n)
    do i=1,n
        a(i,1)=1
        a(i,i)=1
    enddo
    do i=1,n
        print 100, (a(i,j),j=1,i)
    enddo
    do i=3, n
        do j=2,j-1
            a(i,j)=a(i-1,j-1)+a(i-1,j)
        enddo
    enddo
    print *, "杨辉三角形打印如下"
    do i=1,n
        print 100, (a(i,j),j=1,i)
    enddo
100 format (1x, 10i5)   
    end

把上面红色部分的删掉之后 输出就变成了
杨辉三角形打印如下
     1
     1    1
     1    0    1
     1    0    0    1
     1    0    0    0    1
     1    0    0    0    0    1
     1    0    0    0    0    0    1
     1    0    0    0    0    0    0    1
     1    0    0    0    0    0    0    0    1
     1    0    0    0    0    0    0    0    0    1


加上之后就变正常了  ,这是为啥呢?


分享到:  微信微信
收藏收藏 点赞点赞 点踩点踩

4

帖子

1

主题

0

精华

入门

F 币
35 元
贡献
25 点

规矩勋章

沙发
 楼主| 发表于 2018-6-6 11:14:27 | 只看该作者
坐等大佬
回复

使用道具 举报

98

帖子

0

主题

0

精华

大师

F 币
658 元
贡献
293 点

规矩勋章元老勋章新人勋章

板凳
发表于 2018-6-6 11:22:51 | 只看该作者
do j=2,i-1
不是
do j=2,j-1
天之道,损有余而补不足

4

帖子

1

主题

0

精华

入门

F 币
35 元
贡献
25 点

规矩勋章

地板
 楼主| 发表于 2018-6-6 11:34:19 | 只看该作者
真的诶,谢谢大佬
    不过还有一个问题,上面写错的话 那为啥把红色部分加上之后下面的输出就正常了呢?
     杨辉三角形打印如下
     1   
     1    1
     1    0    1
     1    0    0    1
     1    0    0    0    1
     1    0    0    0    0    1
     1    0    0    0    0    0    1
     1    0    0    0    0    0    0    1
     1    0    0    0    0    0    0    0    1
     1    0    0    0    0    0    0    0    0    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
请按任意键继续. . .

98

帖子

0

主题

0

精华

大师

F 币
658 元
贡献
293 点

规矩勋章元老勋章新人勋章

5#
发表于 2018-6-6 11:41:05 | 只看该作者
因为红色代码对 j 取了值呀
天之道,损有余而补不足

798

帖子

2

主题

0

精华

大宗师

F 币
3793 元
贡献
2268 点
6#
发表于 2018-6-7 10:14:32 | 只看该作者
本帖最后由 li913 于 2018-6-7 10:18 编辑

[Fortran] 纯文本查看 复制代码
program testinteger,parameter::n=10
integer a(n,n), i, j
!赋初值
a = 0; a(:,1) = 1
write(*,"(i4)") 1
!计算
do i = 2, n
do j = 2, i
a(i,j) = a(i-1,j-1)+a(i-1,j)
end do 
write(*,"(*(i4))") a(i,1:i)
end do
end program  
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

捐赠本站|Archiver|关于我们 About Us|小黑屋|Fcode ( 京ICP备18005632-2号 )

GMT+8, 2024-4-25 12:46

Powered by Tencent X3.4

© 2013-2024 Tencent

快速回复 返回顶部 返回列表