fortran语言问题DIMENSION M(4,3)DATA M/1,3,2,4,5,7,6,8,9,10,11,12

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
求程序运行结果,并解释每一步的意思,
为啥而来 1年前 已收到1个回答 举报

林中秋千801231 幼苗

共回答了18个问题采纳率:77.8% 举报

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
!结束程序

1年前 追问

9

为啥而来 举报

恩,除了那个点,其他都没有抄错,但是答案是2 6 11, WRITE(*,100)(M(K,1).I=1,3) 100 FORMAT(1X,3I5) 这两句还是不明白,解释下呗亲- -谢谢。尤其3I5。。

举报 林中秋千801231

你的程序的输出就是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个整数。
可能相似的问题
Copyright © 2024 YULUCN.COM - 雨露学习互助 - 17 q. 0.030 s. - webmaster@yulucn.com