回 帖 发 新 帖 刷新版面

主题:定义的函数变换了位置后出了问题

    自己编了个小程序,下面的程序运行没问题,但是如果将Y(X)=A*X+B放在A=2.5,B=3的下面就出了问题。说是Y(x)没有被定义为数组。为什么会这样呢?
    program MAIN
    PARAMETER N=10
    REAL X1(N),C(N)
    real A,B
    

    [color=000000][color=000000][color=FFFFFF][color=008000][color=800000][color=808000][color=000080][color=800080][color=808080][color=FFFF00][color=00FF00][color=00FFFF][color=FF00FF][color=C0C0C0][color=FF0000][color=0000FF][color=008080][color=0000FF][color=FF0000][color=C0C0C0][color=FF00FF][color=00FFFF][color=00FF00][color=FFFF00][color=808080][color=800080][color=000080][color=808000][color=800000][color=008000][color=800000][color=808000][color=000080][color=800080][color=808080][color=FFFF00][color=00FF00][color=00FFFF][color=FF00FF][color=C0C0C0][color=FF0000][color=0000FF][color=008080][color=0000FF][color=FF0000][color=0000FF][color=008080][color=0000FF][color=FF0000]Y(X)=A*X+B
    A=2.5
    B=3.[/color][/color][/color][/color][/color][/color][/color][/color][/color][/color][/color][/color][/color][/color][/color][/color][/color][/color][/color][/color][/color][/color][/color][/color][/color][/color][/color][/color][/color][/color][/color][/color][/color][/color][/color][/color][/color][/color][/color][/color][/color][/color][/color][/color][/color][/color][/color][/color][/color]    
    DO 101 I=1,N
    X1(I)=FLOAT(I)+2.3
    C(I)=Y(X1(I))
    WRITE(*,*)I,X1(I),C(I)
101    CONTINUE
    END

回复列表 (共2个回复)

沙发

定义函数和声明变量是一个意思,是不能放在可执行语句之后的。

板凳

楼主, 写fortran代码二话不说先implicit none 再定义变量. 你X和Y都没有定义后面出问题太正常了.

我来回复

您尚未登录,请登录后再回复。点此登录或注册