FORTRAN90Á·Ï°Ìâ ÏÂÔر¾ÎÄ

A. Ö»ÓÐÒ»¸öÖ÷³ÌÐòûÓÐÍⲿ×Ó³ÌÐò B. Ö»ÓÐÒ»¸öÖ÷³ÌÐòºÍÈô¸É×Ó³ÌÐò C. Ö»ÓÐÒ»¸öÖ÷³ÌÐòºÍÒ»¸ö×Ó³ÌÐò D. Ö»ÓÐÍⲿ×Ó³ÌÐò¶øûÓÐÖ÷³ÌÐò

¶þ£® Ìî¿ÕÌ⣨ÔÚ¿Õ°×´¦ÌíÈëÕýÈ·ÄÚÈÝ£©

1£®ÏÂÁгÌÐòÖ´Ðкó£¬num(1,3)= ,num(2,3)= ,num(3,1)= ¡£ INTEGER(1),DIMENSION(1:3,1:3)::num=0 INTEGER(1)::i=1,j=2,k num(i,j)= 1 DO k= 2,9

i= i-1 ; j= j-1 IF(I<1.AND.j<1)THEN i=i+2; j=j+1 ELSEIF(i<1.AND.j>=1)THEN i=3

ELSEIF(i>=1.AND.j<1)THEN j=3

ELSEIF(i<=3.AND.j<=3)THEN IF(num(i,j )/= 0)THEN i=i+2; j=j+1 ENDIF ENDIF num(i,j)=k ENDDO

PRINT '(6X,3I3)',((num(i,j),j= 1,3),i= 1,3)

END

2. ÔĶÁÒÔϳÌÐò£º

SUBROUTINE swap(S1,S2) CHARACTER(*) S1,S2 CHARACTER(3)T T=S1;S1=S2;S2=T END SUBROUTINE PROGRAM MAIN

CHARACTER(3) :: S1='BD',S2='BC',S3='AB' IF (S1>S2) CALL swap(S1,S2) IF (S2>S3) CALL swap(S2,S3) IF (S1>S2) CALL swap(S1,S2) PRINT*,S1; PRINT*,S2; PRINT*,S3 END PROGRAM MAIN

Ö´ÐÐÒÔÉϳÌÐòºó£¬Êä³öµÄ½á¹ûÊÇ 3£® ÔĶÁÒÔϳÌÐò£º

PROGRAM MAIN

INTEGER:: A(3,3),I,J,K,N

DO K=1,5

IF(K<=3)THEN

DO I=1,K N=N+1 A(I,K-I+1)=N ENDDO DO I=1,6-K N=N+1

A(K-3+I,4-I)=N ENDDO

ELSE

ENDIF

ENDDO DO K=1,3

DO I=1,3

PRINT'(I3\\)',A(K,I); ENDDO PRINT*

ENDDO

END PROGRAM MAIN

Ö´ÐÐÒÔÉϳÌÐòºó£¬A(1,3)µÄÖµÊÇ £¬A(2,2)µÄÖµÊÇ £¬A(3,1)µÄÖµÊÇ ¡£ 4. ÔĶÁÒÔϳÌÐò£º REAL A(10),IP DO K=1,10

A(K)=IP(K*2)/IP(K) ENDDO

WRITE(*,100) A(1),A(2) 100 FORMAT(1X,2F3.1)

END

REAL FUNCTION IP(N) M=0 DO K=1,N M=M+K ENDDO IP=M END

Ö´ÐÐÒÔÉϳÌÐòºó£¬A(1)µÄÖµÊÇ £¬A(2)µÄÖµÊÇ ¡£ 5. ÓÃÑ¡Ôñ·¨,½«N¸öÕûÊý°´´ÓСµ½´óÅÅÁС£ PARAMETER(numl=500) INTEGER num(numl)

READ*,N,(num(I), ) DO I=1,N-1

min=I

DO J=

IF(num(min)>num(J)) ENDDO

IF(min .NE. I)THEN it=num(I) num(I)=num(min) ENDIF ENDDO

PRINT*,(num(I),I=1,N)

END 6.ÇóN!¡£

PRINT*,'Input N?' READ *,N M=1 DO

nfac=nfac*M IF( )THEN PRINT*,'N!=',nfac ENDIF M=M+1 ENDDO END

7£®ÏÂÁгÌÐòÔËÐкó£¬A(1£¬4)= £¬A(5£¬3)= ¡£

INTEGER A(5,5),T,I,J,K,M DO I=1,5

DO J=1,5 A(I,J)=J ENDDO DO K=1,I-1

T=A(I,5) DO M=4,1,-1

A(I,M+1)=A(I,M) ENDDO A(I,1)=T

ENDDO

ENDDO

PRINT\END

8. ÏÂÁгÌÐòµÄÔËÐнá¹ûÊÇ_________________¡£

PROGRAM MAIN

INTEGER::A(5)=(/4,1,3,2,5/) INTEGER::S1=0,S2=1,I DO I=1,5

IF(MOD(I,2)/=0)THEN S1=S1+A(I) ELSE

S2=S2*A(I) ENDIF ENDDO PRINT*,S1 PRINT*,S2

END

9£®ÏÂÁгÌÐòÔËÐкóÊä³ö½á¹û£ºM= £¬X= ¡£

OPEN(1,FILE='A.DAT')

WRITE(1,'(2I1/F3.1)') 2,3,4.5 CALL ABC END

SUBROUTINE ABC REAL X INTEGER M BACKSPACE(1) READ(1,\M=X

WRITE(*,\END

10£®ÏÂÃæ³ÌÐòµÄ¹¦ÄÜÊÇÊäÈëÊ®¸öÈÎÒâËÄλÕûÊýA£¬ÓÃÀ´¼ìÑéinver×Ó³ÌÐòµÄ¿É¿¿ÐÔ¡£ÆäÖÐCALL inver(A£¬

B)Ó¦Äܽ«AÖÐËÄλÊýµ¹¹ýÀ´³ÉΪB£¨ÈçA=1966£¬¿ÉµÃB=6691£©¡£×îºó¼ÆËã²¢Êä³öÓɾßÌåÊý×Ö¹¹³ÉµÄËãʽC=A+B¡£ INTEGER A,B,C,I DO I=1,10 READ*,A

DO WHILE(A<1000 .OR. A>9999) READ*,A ENDDO

CALL inver(A,B) C=A+B

PRINT'(1X,I5,\ENDDO

END

SUBROUTINE inver(M,N) IMPLICIT NONE A=M DO I=1,4

NN(I)=MOD(A,10)

ENDDO B=0 DO J=1,4

K=NN(J)*10**(4-J) B=B+K

ENDDO END

11. ÔĶÁÏÂÁгÌÐò.Æ书ÄÜÊÇʹÓÃɸ·¨Ñ¡³öNÒÔÄÚµÄËùÓÐËØÊý²¢ÏÔʾ¡£

Ëã·¨:ÔÚNÒÔÄÚµÄ×ÔÈ»ÊýÁÐÖÐÏÈɸ³ý2µÄ±¶Êý;ÔÚ2Ö®ºóɸ³ËϵĵÚÒ»¸öÊýÊÇ3,ÓÚÊÇÔÙɸ³ý3µÄ±¶Êý;ÔÚ3Ö®ºóɸʣϵĵÚÒ»¸öÊýÊÇ5,ÓÚÊÇÔÙɸ³ý5µÄ±¶Êý;Èç´ËÖظ´ÏÂÈ¥,Ö±µ½Óö¼ûɸʣϵĵÚÒ»¸öÊýÊÇ×î½Ó½üNµÄƽ·½¸ùµÄÄǸöÊýΪֹ¡£ÇëÔÚÆäÖÐ____´¦ÌîÈëÊʵ±µÄÄÚÈÝ¡£ PROGRAM PRINES PARAMETER (N=100) INTEGER A(N),P(N) DO K=1,N A(K)=K ENDDO DO K=3,N

IF(__ ___.EQ.0) A(K)=0 ENDDO

ISR=SQRT(REAL(N)) DO M=3,ISR,2 DO K=M+2,N

IF(A(K)/=0.AND.MOD(A(K),M)==0)A(K)=0 ENDDO ENDDO M=1 DO K=2,N

IF(A(K).NE.0)THEN ____ _ M=M+1 ENDIF ENDDO