fortran语言问题

问题描述:

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
求程序运行结果,并解释每一步的意思,

WRITE(*,100)(M(K,1).I=1,3)这一行,打错了,要把点改成逗号WRITE(*,100)(M(K,1),I=1,3)程序运行结果:2 2 2DIMENSION M(4,3) !定义数组M维数为4*3DATA M/1,3,2,4,5,7,6,8,9,10,11,12/ !给M赋值,注意是按列依次赋值,即...恩,除了那个点,其他都没有抄错,但是答案是2 6 11,WRITE(*,100)(M(K,1).I=1,3)100 FORMAT(1X,3I5)这两句还是不明白,解释下呗亲- -谢谢。尤其3I5。。你的程序的输出就是2 2 2WRITE(*,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,3WRITE(*,5I) M(K,I)ENDDO 100 FORMAT(1X,3I5)这句的意思是定义格式100,1X为一个空格,I5是以长度为5打印出一个整数,3I5就是分别以长度为5打印出3个整数。