Fortran Coder

标题: 求助,询问第五行错误怎么改 [打印本页]

作者: URMYH    时间: 2022-3-11 01:36
标题: 求助,询问第五行错误怎么改
[Fortran] 纯文本查看 复制代码
program calculate_e
    implicit none !
    integer(kind=4)::M
    character(LEN=3):: D,P,R
    M=Log(P)-log(P-D*R)/log(1+R)
    writer(*,*)‘M=’,M
end program

||=== Build: Debug in test310 (compiler: GNU Fortran Compiler) ===|
C:\Users\陈政\test310\main.f95|6|Error: Syntax error in WRITE statement  |
C:\Users\陈政\test310\main.f95|5|Error: Operands of binary numeric operator '+'  are INTEGER(4)/CHARACTER(1)|
||=== Build failed: 2 error(s), 0 warning(s) (0 minute(s), 0 second(s)) ===|




作者: 布衣龙共    时间: 2022-3-11 08:35
[Fortran] 纯文本查看 复制代码
program calculate_e
    implicit none !
    real :: M
    real :: D = 2.0 ,P = 30.0 , R = 4.0
    M=Log(P)-log(P-D*R)/log(1+R)
    write(*,*) "M=", M
end program

作者: URMYH    时间: 2022-3-11 14:20
谢谢哥,问一下,不用character去设置变量吗

作者: URMYH    时间: 2022-3-11 14:56
program main
  implicit none
real:: C
real::F=10.0
C=5/9(F-32)
write(*,*)"C=",C
end
为什么换个数据就不行了呢

作者: URMYH    时间: 2022-3-11 15:31
本帖最后由 URMYH 于 2022-3-11 15:33 编辑

谢谢大佬
作者: 布衣龙共    时间: 2022-3-11 15:31
C=5.0/9.0*(F-32)

character是字符串变量,字符串不能直接参与计算。
5 对 Fortran来说,是整数。所以 5/9 等于 0,想要浮点数的 5,请写成 5.0

此外,乘号不能忽略。
作者: URMYH    时间: 2022-3-11 15:38
哪这个能帮忙看看吗,我按照你之前教我的写的
[Fortran] 纯文本查看 复制代码
program main
  implicit none
real::x=1.0,y=3.0,z=5.0,m=-6,n=4,k=3
real::S
S=max((m*k).(mod(m-1,n))*4)
write(*,*)"S=",S
end




作者: URMYH    时间: 2022-3-11 15:49
也是要浮点数吗

作者: 布衣龙共    时间: 2022-3-11 16:41
本帖最后由 布衣龙共 于 2022-3-11 16:42 编辑

S=max(         (m*k)      ,     (mod(m-1,n))*4            )
max函数有两个参数 (m*k) 和  (mod(m-1,n))*4 ,函数参数和参数之间,用逗号,而不是小数点。
作者: URMYH    时间: 2022-3-13 21:25
谢谢哥,爱了爱了






欢迎光临 Fortran Coder (http://bbs.fcode.cn/) Powered by Discuz! X3.2