你这是个理想气体状态方程吧,呵呵
程序里有错误,首先,那个“E=6999.06” 应该是 “G=6999.06” 吧?
其次,你先定义了r, 然后又定义了一个parameter, R=8.314。你要知道在FORTRAN里变量名是不区分大小写的,所以编译器认为你的r和R是同一个变量,自然会出现错误。建议你把其中一个名字改一下,比如把R换成Rc之类的试试。
希望我的回答能帮到你!
修改后可以正确运行的代码:
program main
implicit none
real::a
real::T=100
real::r2
real,parameter::R=8.314,G=6999.06,e=2.71828
a=-G/(R*T)
write(*,*) a
r2=e**a
write(*,*) r2
stop
end
其中,主要问题是,fortran编程时是大小写敏感的。
问题1 “real,parameter::R=8.314,E=6999.06,e=2.71828” 代码中,parameter类型的E和e不能赋两个值
修改:按题目中,大写的 E 应该是 G;E=6999.06 改为 G=6999.06
问题2 real::r 和 real,parameter::R=8.314 中的r是重复声明
问题3 real,parameter::R=8.314 和 r=e**a,先对R声明为常数,然后又赋值
修改:real::r 改为 real::r2