作业帮 > 综合 > 作业

fortran语言问题

来源:学生作业帮 编辑:百度作业网作业帮 分类:综合作业 时间:2024/04/30 20:34:42
fortran语言问题
DIMENSION M(4,3)
DATA M/1,3,2,4,5,7,6,8,9,10,11,12/
K=3
WRITE(*,100)(M(K,1).I=1,3)
100 FORMAT(1X,3I5)
END
求程序运行结果,并解释每一步的意思,
fortran语言问题
WRITE(*,100)(M(K,1).I=1,3)这一行,打错了,要把点改成逗号
WRITE(*,100)(M(K,1),I=1,3)
程序运行结果:
2 2 2
DIMENSION M(4,3)
!定义数组M维数为4*3
DATA M/1,3,2,4,5,7,6,8,9,10,11,12/
!给M赋值,注意是按列依次赋值,即
M = [1 5 9
3 7 10
2 6 11
4 8 12]
K=3
!定义K并赋值3
WRITE(*,100)(M(K,1),I=1,3)
!打印出M(3,1),重复三次
100 FORMAT(1X,3I5)
!定义格式为整数格式,长度为5
END
!结束程序
再问: 恩,除了那个点,其他都没有抄错,但是答案是2 6 11, WRITE(*,100)(M(K,1).I=1,3) 100 FORMAT(1X,3I5) 这两句还是不明白,解释下呗亲- -谢谢。尤其3I5。。
再答: 你的程序的输出就是2 2 2 WRITE(*,100)(M(K,1),I=1,3) 上面这句,K=3是确定的值,因此打印出来的就是三个M(3,1),也就是2 2 2 如果输出是2 6 11的话,那么应该用下面这句: WRITE(*,100)(M(K,I),I=1,3) 这条语句等价于: DO I=1,3 WRITE(*,5I) M(K,I) ENDDO 100 FORMAT(1X,3I5) 这句的意思是定义格式100,1X为一个空格,I5是以长度为5打印出一个整数,3I5就是分别以长度为5打印出3个整数。