write(*,*) add(a,b) stop end
function add(a,b) implicit none real :: a,b real :: add add = a+b return end
程序运行的结果是: 3.000000 (
17、阅读下列FORTRAN程序:program example implicit none integer :: a,b common a,b a=1 b=2
call ShowCommon() write(*,*) a, b end
subroutine ShowCommon() implicit none
integer :: num1, num2 common num1, num2 write(*,*) num1, num2 return end
程序运行的结果是: 1 2
1 2
18、阅读下列FORTRAN程序:module global implicit none real a,b common a,b end module
program example use global implicit none a=1.0 b=2.0
类似的题目,写3.0亦可,但不可写3)
call sub() end program
subroutine sub() use global implicit none write(*,*) a,b return
end subroutine
程序运行的结果是: 1.000000 2.000000
19、阅读下列FORTRAN程序: INTEGER A(3,3) DO K=1,3 DO L=1,3 A(K,L)=K*10+L END DO END DO
WRITE(*,'(1X,3I3)') A END
程序运行的结果是: 11 21 31
12 22 32 13 23 33
20、阅读下列FORTRAN程序: INTEGER F F(X,Y)=X+Y A=-2.5 B=4.0
B=1.0+F(A,B) WRITE(*,20) B
20 FORMAT(1X,F4.1) END
程序运行的结果是: 2.0
21、阅读下列FORTRAN程序: X=0
DO L=10, 5, 15 X=X+1.0 END DO END
程序运行时执行循环体的次数是: 0 22、阅读下列FORTRAN77程序: DIMENSION M(4,4)
DATA M/1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6/ DO I=1,4
WRITE (*,100)(M(I,J),J=1,I) END DO
100 FORMAT(1X,4I2) END
程序运行的结果是: 1
2 6 3 7 1 4 8 2 6 23、阅读下列FORTRAN程序: CHARACTER(LEN=10) A
CHARACTER(LEN=6) B DO I=1,10 A(I:I)=' ' END DO
A(1:5)='ABCDE' B='FGHIJK' A(4:9)=B
WRITE(*,100) A 100 FORMAT(1X,A) END
程序运行结果是: ABCFGHIJK
24、 阅读下列FORTRAN程序: X=0.0 Y=2.0
CALL SUB(X,Y,Z,3.0)
WRITE(*,'(1X,3F5.1)')X,Y,Z END
SUBROUTINE SUB(A,B,X,Z) A=A+1 B=B+2.0 Y=1.0 X=X+Y END
程序运行结果是: 1.0 4.0 1.0
25、 阅读下列FORTRAN程序: INTEGER N(20) DO M=1,20 N(M)=0 END DO K=5
DO M=1,K DO J=1,K
N(J)=N(M)+1 END DO END DO
WRITE(*,*)N(K) END
程序运行的结果是: 9
26、 阅读下列FORTRAN程序: COMMON /COM/M(5),N(4) CALL FIB
WRITE(*,'(1X,4I3)') N END
SUBROUTINE FIB
COMMON /COM/J(5),K(4) DO I=1,4
K(I)=J(I+1)-J(I) END DO END
BLOCK DATA
COMMON /COM/K(5),L(4) DATA K/8,7,10,4,13/ END
程序运行的结果是: -1 3 -6 9
27、阅读下列FORTRAN程序: N=0
DO K=30,0,-2 DO L=-10,10,1 N=N+1 END DO END DO
WRITE(*,*) N END
程序运行结果是:: 336
28、阅读下列FORTRAN程序:READ(*,*) N X=1.0
IF (N.GE.0) X=2*X IF (N.GE.5) X=2*X+1.0 IF (N.GT.15) X=3*X-1.0
WRITE(*,*) X END
运行上述程序时,如果从键盘输入 15<回车>
则最后输出的X值为 : 5.000000 29、阅读下列FORTRAN程序: DIMENSION M(3,4) DATA M/4*2,4*1,4*-1/ N=0
DO K=1 ,4 N=N+M(1,K) END DO
WRITE(*,*) N END
运行上述程序后,输出的N的值为 4
30、阅读下列FORTRAN77程序: READ(*,*) Y
IF (Y.LE.0.0) THEN Z=0 .0
ELSE IF ((Y < 5.0).AND.(Y /= 2.0)) THEN Z=1/(Y+2)
ELSE IF (Y <= 10.0) THEN Z=1/Y ELSE Z=10.0 END IF
WRITE (*,*)Z END
在执行上述程序时,由键盘输入 2.0
最后输出的Z值为 0.5000000 (写0.5即可,不同的编译器,输出的“0”不同)
三、编程题 教科书中:
第四章—第九章的习题。
的个数可能会