用FORTRAN穷举法GO TO语句中,循环数最大是多少? 80

do10i=1,1E+10,1so=front*(2*i)**(b)+k*(2*i)**(c)d=so-strainif(abs(d).le.1e-1)thencyc=i... do 10 i=1,1E+10,1
so=front*(2*i)**(b)+k*(2*i)**(c)
d=so-strain
if (abs(d).le.1e-1)then
cyc=i
ianquancyc=i/5
write(1,'("NF=",f12.2)') cyc
write(1,'("ianquanNF=",i12)') ianquancyc
write(1,'("strain=",e12.5)') strain
write(1,'("so=",e12.5)') so
write(1,'("d=",e12.5)') d
goto 100
endif
10 continue
100 continue

上面是我程序的一小部分,当i超过1E10时就会出现warning: An arithmetic error occurred while evaluating constant or constant expression do 10 i=1,1E+10,1
只要小于这个数就没问题,但是我需要至少1E20才够大,如何解决这个问题,谢谢!!!
展开
百度网友39662d1
2007-03-13 · TA获得超过318个赞
知道小有建树答主
回答量:164
采纳率:0%
帮助的人:0
展开全部
出错的这句话意思是执行10 i=1,1E+10,1语句的时候出现了算术错误.
不知道楼主i这个变量是什么类型的变量,因为数字太大,要改成比较大的变量类型.查了下fortran语言i不加说明的话默认为整形...可能楼住设定的变量类型最大值是1e10.改成更大的类型就可以了.
C的话有double float类型双精度浮点,不知道fortran有什么类型.楼主看看书吧,这年头好象没怎么见有人用fortran
=.=
mylocal
2007-03-13 · TA获得超过1553个赞
知道小有建树答主
回答量:2630
采纳率:0%
帮助的人:1039万
展开全部
放错分类了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百合花伞
2007-03-13 · TA获得超过115个赞
知道答主
回答量:409
采纳率:0%
帮助的人:0
展开全部
将光标移到圆图标内,该圆标成深色,表示进入圆图标状态。在此状态下,可输入各种圆。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
vqimwr
2007-03-15 · TA获得超过2913个赞
知道小有建树答主
回答量:571
采纳率:0%
帮助的人:414万
展开全部


在程序的开头重新定义一下i,加入(fortran90和95的方法):
integer(kind=8)::i
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式