FOETRAN试卷7

更新时间:2023-05-11 23:39:26 阅读: 评论:0

2下面程序的功能是用指针的方法求两个整数A,B的和。请改错
PROGRAM EX
  IMPLICIT NONE
  REAL,INTEGER,POINTER::PA,PB,PC        !<==ERROR1 
  INTEGER,TARGET::A,B,C
  READ *,A,B
  PA=>A
  PB=>B
  PC=PA+PB          !<==ERROR2  PC=>C
  C=PC        !<==ERROR3          PC=PA+PB
  PRINT *,C,PC
END PROGRAM EX
3下面程序的功能是求M行N列的整形矩阵A的所有元素之和。请填空
PROGRAM EX
  IMPLICIT NONE
  INTEGER::M,N,I,J,SUM
  INTEGER,ALLOCATABLE,DIMENSION(:,:)::A    !<==BLANK1
  READ*,M,N
  ALLOCATE(A(M,N))
  READ*,A
  SUM=0    !<==BLANK2
  DO I=1,M
    DO J=1,N
      SUM=SUM+A(I,J)    !<==BLANK3
    END DO
  END DO
  PRINT*,SUM
  DEALLOCATE(A)
END PROGRAM EX
编写一个递归函数FAC求M的阶乘M!。主程序调用该递归函数,计算N!.
输入格式:
N!=  235.00
PROGRAM EX
IMPLICIT NONE
INTERFACE
  RECURSIVE FUNCTION FAC(M) RESULT(RES)
    INTEGER::M
    REAL::RES
  END FUNCTION FAC
END INTERFACE
INTEGER::N=10
REAL::JS
JS=FAC(N)
PRINT "(1X,'N!=',F12.2)",JS
CALL OUTPRINT(JS)  !JS为符合条件的结果
CONTAINS
  SUBROUTINE OUTPRINT(X)
  CHARACTER (LEN =10):: FILENAME
  REAL:: X
  FILENAME ='RESULT.TXT'
  OPEN(UNIT = 1 ,FILE = FILENAME ,ACCESS = 'SEQUENTIAL' , STATUS ='REPLACE')
  WRITE(1,"(1X,'N!=',F12.2)") X
  ENDFILE(UNIT=1)
  CLOSE(UNIT=1)
  END SUBROUTINE OUTPRINT
END     
RECURSIVE FUNCTION FAC(M) RESULT(RES)
!!考生做题开始
!!************ BEGIN *******************
    INTEGER::M
    REAL::RES
    IF(M==0.OR.M==1) THEN
      RES=1
    ELSE
      RES=M*FAC(M-1)
    END IF
!!************ END  *******************
!!考生做题结束
END FUNCTION FAC 
程序运行结果是:
N!=  3628800.00

本文发布于:2023-05-11 23:39:26,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/89/885348.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:功能   调用   结果   考生   程序
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图