作业帮 > 数学 > 作业

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

来源:学生作业帮 编辑:搜搜做题作业网作业帮 分类:数学作业 时间:2024/07/14 09:22:07
fortran语句 read(45,'(i4,f12.5,1p6e16.7)')是什么意思呢?后面这些format是什么呢?好长啊
谢谢各位了
fortran语句 read(45,'(i4,f12.5,1p6e16.7)')是什么意思呢?后面这些format是什么
ead的字段有很多个,上述中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 待到用的时候,可以忽略掉不需要的