求助Fortran的简单公式编程

本人要编辑一个公式r=e**a其中a=-E/RTe=2.71828,G=6999.06,R=8.314程序如下:program mainimplicit&nbs... 本人要编辑一个公式r=e**a其中a=-E/RTe=2.71828,G=6999.06,R=8.314程序如下:program mainimplicit nonereal::areal::T=100real::rreal,parameter::R=8.314,E=6999.06,e=2.71828a=-G/(R*T)write(*,*)ar=e**awrite(*,*)rstopend运行完以后出现3个错误Compiling Fortran...E:\V-Fortran\sadfa\hffdg.f90E:\V-Fortran\sadfa\hffdg.f90(6) : Error: This name has already been assigned a data type.   [R]real,parameter::R=8.314,E=6999.06,e=2.71828----------------^E:\V-Fortran\sadfa\hffdg.f90(6) : Error: This name has already been assigned a data type.   [E]real,parameter::R=8.314,E=6999.06,e=2.71828----------------------------------^E:\V-Fortran\sadfa\hffdg.f90(11) : Error: This PARAMETER constant name is invalid in this context.   [R]r=e**a 展开
 我来答
redzhizhu
推荐于2018-04-09 · TA获得超过165个赞
知道答主
回答量:87
采纳率:0%
帮助的人:77.3万
展开全部
你这是个理想气体状态方程吧,呵呵
程序里有错误,首先,那个“E=6999.06” 应该是 “G=6999.06” 吧?
其次,你先定义了r, 然后又定义了一个parameter, R=8.314。你要知道在FORTRAN里变量名是不区分大小写的,所以编译器认为你的r和R是同一个变量,自然会出现错误。建议你把其中一个名字改一下,比如把R换成Rc之类的试试。

希望我的回答能帮到你!
雨蓼汀
2011-10-10
知道答主
回答量:12
采纳率:0%
帮助的人:12.2万
展开全部
修改后可以正确运行的代码:
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
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式