早教吧作业答案频道 -->其他-->
关于fortran6.PROGRAMMAIN2N=3Y=(SUM(N)+SUM(N+1)+SUM(N+2))/(SUM(N+3)+SUM(N+4))WRITE(*,*)‘Y=’,YENDFUNCTIONSUM(X)INTEGERXSUM=0DO10I=1,XSUM=SUM+I10CONTINUEEND不管怎么运行上面总是提示Error:Anarray-valuedargumentisrequiredin
题目详情
关于fortran6.
PROGRAM MAIN2
N=3
Y=(SUM(N)+SUM(N+1)+SUM(N+2))/(SUM(N+3)+SUM(N+4))
WRITE (*,*) ‘Y=’,Y
END
FUNCTION SUM(X)
INTEGER X
SUM=0
DO 10 I=1,X
SUM=SUM+I
10 CONTINUE
END
不管怎么运行 上面总是提示 Error:An array-valued argument is required in this context.[SUM]
Y=(SUM(N)+SUM(N+1)+SUM(N+2))/(SUM(N+3)+SUM(N+4))
这是什么原因
但是我在上面程序里加了一句 REAL SUM(7) 上面没有错误 但是却得不到结果
PROGRAM MAIN2
N=3
Y=(SUM(N)+SUM(N+1)+SUM(N+2))/(SUM(N+3)+SUM(N+4))
WRITE (*,*) ‘Y=’,Y
END
FUNCTION SUM(X)
INTEGER X
SUM=0
DO 10 I=1,X
SUM=SUM+I
10 CONTINUE
END
不管怎么运行 上面总是提示 Error:An array-valued argument is required in this context.[SUM]
Y=(SUM(N)+SUM(N+1)+SUM(N+2))/(SUM(N+3)+SUM(N+4))
这是什么原因
但是我在上面程序里加了一句 REAL SUM(7) 上面没有错误 但是却得不到结果
▼优质解答
答案和解析
呵呵.
SUM函数是Fortran的一个内部函数,作用是求一个数组所有元素的和.因此要求SUM(X)的参数X必须是一个数组,不能是一个数.因此楼主的程序会提示:
Error: An array-valued argument is required in this context. [SUM]
你程序中前N个自然数求和函数和Fortran内部函数重名了,且未对该函数进行声明,Fortran是按照它内部的函数运行的.
解决方法:
1、把你的前N个自然数求和函数改成别的名字,如SUM2
2、如果你实在不想改函数名字,要在PROGRAM MAIN2后面加上一句SUM函数的声明:
EXTERNAL SUM
3、楼主编程的习惯好像不太好啊,变量和子函数都没有声明类型,开头也没有IMPLICIT NONE
SUM函数是Fortran的一个内部函数,作用是求一个数组所有元素的和.因此要求SUM(X)的参数X必须是一个数组,不能是一个数.因此楼主的程序会提示:
Error: An array-valued argument is required in this context. [SUM]
你程序中前N个自然数求和函数和Fortran内部函数重名了,且未对该函数进行声明,Fortran是按照它内部的函数运行的.
解决方法:
1、把你的前N个自然数求和函数改成别的名字,如SUM2
2、如果你实在不想改函数名字,要在PROGRAM MAIN2后面加上一句SUM函数的声明:
EXTERNAL SUM
3、楼主编程的习惯好像不太好啊,变量和子函数都没有声明类型,开头也没有IMPLICIT NONE
看了 关于fortran6.PRO...的网友还看了以下:
1.PT切圆O于T,CT为直径,D为OC上的一点,支线PD交圆O于B和A,B在线段PD上,若CD= 2020-04-12 …
为括号部分发音相同的单词归类st(ay)m(ee)tn(o)d(ow)nr(oo)ml(oo)kt 2020-05-14 …
O、A、B、C为空间四个点,又OA、OB、OC为空间的一个基底,则()A.O、A、B、C四点不共线 2020-05-14 …
∵EM是⊙O的切线,怎么推出EB•EC=EM2①?,看题后回答.(2005•温州)如图,已知四边形 2020-05-21 …
如图,AB为⊙O的直径,CD⊥AB于点E,交⊙O于点D,OF⊥AC于点F.(1)试说明△ABC∽△ 2020-07-20 …
如图,已知AB是圆O的直径,点C、D在圆O上,点E在圆O外,角EAC=角D=60°(1)求证:A如 2020-07-31 …
[惊人发现]1=O.9循环1=O.9循环∵1/3=O.3循环∴1/3+1/3=O.3循环+O.3循环 2020-10-31 …
大气臭氧层的反应是:O+O3=2O2△H,该反应的能量变化如图所示,下列叙述中,正确的是()A.O+ 2020-10-31 …
“我们可以得到A和B分别与C、D、E之间的关系”这句话用英语怎么表达“我们可以得到A和B分别与C、D 2020-12-25 …
直线y=x-6与x,y轴分别交于点A,B,E从B出发,以每秒一个单位的速度沿线段BO向O移动(E与B 2021-01-16 …