fortran语句 read(45,'(i4,f12.5,1p6e16.7)')是什么意思呢?后面这些format是什么呢?好长啊

谢谢各位了... 谢谢各位了 展开
 我来答
huzi233
2012-02-27 · TA获得超过400个赞
知道小有建树答主
回答量:291
采纳率:100%
帮助的人:278万
展开全部
read的字段有很多个,上述中read后边括号内跟有两个字段,第一个是个数字,代表一个设备号,跟相应的数据文件关联;第二个是一对单引号引住的一对圆括弧里的内容:i表示输出整数,i4,表示输出一个长度为四位的整数,,f12.5表示输出一个12位长度的实数,其中五位是小数点后的位数,,1p表示把数字加一输出,,e16.7表示以科学计数法输出一个16位长度的实数,7表示小数部分7位。
追问
read(45,'(i4,f12.5,1p6e16.7)') n, height(n), b(n), c(n),kd,kd,kd,kd
请问大侠这是怎么回事,按照你上面的说法,应该是读3个字段,一个i4格式,一个是f12.5格式,一个是1p6e16.7字段,可是上面那句代码是没错的,可是输出的字段却有 n, height(n), b(n), c(n),kd,kd,kd,kd这么多个。而且最后都读入kd算是重复读出吧,这个kd值就相当于一个临时变量了吧?
追答
1p后边是6e16.7,表示输出六个格式为e16.7的实数。kd重复读取四次这种写法没有见过,应该跟输入文件里的数字排列方式有关。你可以设置一些新的变量名来代替现有的读取方式,比方说:
real :: kd1,kd2,kd3
read(45,'(i4,f12.5,1p6e16.7)') n, height(n), b(n), c(n),kd,kd1,kd2,kd3
待到用的时候,可以忽略掉不需要的
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式