短信预约提醒成功
问题内容
对 下列程序段
PARAMETER(N=3)
INTEGER A(N,N)
READ*,A
DO 10J=1, N
20 LS=LS+A(I,J)
LS=LS/N
DO 30 I=1,N
30 A(I,J) =A(I,J) -LS
10 CONTINUE
PRING*,A
END
若输入2,4,6,8,10,12,14,16,18
则程序运行后A(3,2)为?
用fortran90程序编译出结果为:14.这道题是否超刚?教材答案是2
老师回复用fortran90程序编译出结果为:14.对于程序段,如果同学不会,可以下载fortran进行编译得出结果。
老师回复同学如果答案是2,那么你的题目没有写完整。
原题中的
LS=0
DO 20 I=1,N
你没有打进去。
原题为:
PARAMETER (N=3)
INTEGER A(N,N)
READ *,A
DO 10 J=1,N
LS=0
DO 20 I=1,N
20 LS=LS+A(I,J)
LS=LS/N
DO 30 I=1,N
30 A(I,J)=A(I,J)-LS
10 CONTINUE
PRINT *,A(3,2)
END
答案为2.
A (3,2)
DO 10 J=1,N (J=2)
LS=0
DO 20 I=1,N
20 LS=LS+A(I,J) (LS=A(1,2)+A(2,2)+A(3,2)=8+10+12=30)
LS=LS/N (LS=30/3=10)
DO 30 I=1,N
30 A(I,J)=A(I,J)-LS (A(3,2)=12-10=2)
10 CONTINUE
PRINT *,A(3,2)
END