- 1、本文档共16页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Fortran程序设计
第六课 格式化输出
格式化输出
WRITE (*,*) 是自由格式输出,也称表控输出
INTEGER :: i
DO i=1,10
WRITE (*,*) sin(,i,)=,sin(3.141593*i/180)
END DO
WRITE (*,*) ---------1---------2---------3---------4
输出的数据不直观也不美观
所以我们要采用格式输出
INTEGER :: i
DO i=1,10
WRITE (*,(10X,A4,I2,A2,F8.6)) sin(,i,)=,sin(3.141593*i/180)
END DO
WRITE (*,*) ---------1---------2---------3---------4
利用格式控制,可以将输出按照自己的需求排列,便于分析数据
(10X,A4,I2,A2,F8.6) ‘
单引号内的部分称为格式描述符
格式描述符包含:
字符串 例如:’(10X,‘Example’,A4)’
控制符 10X
占位符 A4 I2 A2 F8.6
A4-------sin(‘
I2---------i
A2--------)=‘
F8.6-------sin(3.141593*i/180)
格式描述符也可以写成单独的语句
WRITE (*,(10X,A4,I2,A2,F8.6)) sin(,i,)=,sin(3.141593*i/180)
可以改写成:
WRITE (*,100) sin(,i,)=,sin(3.141593*i/180)
100 FORMAT (10X,A4,I2,A2,F8.6)
这里100是语句标号
可以设置为其它整数
同一程序不可以有重复的标号
一条FORMAT语句可以给多个WRITE语句使用
整数的输出--I描述符
I描述符用来描述整数数据的显示格式,形式为:
rIw 或 rIw.m
r 重复计数-----表示这个格式重复的次数
w 域宽-----输出使用的字符数
m 要显示的最小位数
INTEGER :: i=-12,j=4,k=-12345
WRITE (*,(2I5,I6,I10)) i,i+12,j,k
WRITE (*,(2I5.0,I6,I10.8)) i,i+12,j,k
WRITE (*,(2I5.3,I6,I5)) i,i+12,j,k
WRITE (*, (T1,A40)) ---------1---------2---------3---------4
整数数值在其域内右对齐
如果整数太大,用*显示
如果m值超过整数位数,就在左侧用0补满
INTEGER :: i=-12,j=4,k=-12345
WRITE (*,100) i,i+12,j,k
WRITE (*,101) i,i+12,j,k
WRITE (*,102) i,i+12,j,k
100 FORMAT (2I5,I6,I10)
101 FORMAT (2I5.0,I6,I10.8)
102 FORMAT (2I5.3,I6,I5)
WRITE (*, (T1,A40)) ---------1---------2---------3---------4
上一个例子也可以写成这样,结果是一样的
实数输出-----F描述符
rFw.d
d表示小数点右边的位数
实数在其显示域内右对齐
如果d值小于数据的小数位数,那么显示前会被四舍五入
如果d值超出数据的小数位数,那么在小数最后补齐足够的0
如果实数太大,给定的域放不下,那么用*填充
12.345678 用下面的格式会输出什么?
F10.8 F12.8 F5.3 F5.2
实数输出----E描述符
rEw.d
和科学记数法不同,E描述法把实数规范到0.1~1.0之间的一个数乘以10的幂
比如阿伏伽德罗常数用科学记数法为:6.02x1023
E表示是0.602x1024,显示在计算机上是0.602E+24
如果数据的有效位数是7,用E表示的时候,w和d分别要取多少呢?
w至少要14:1个字符用来表示尾数的符号,2个字符用于表示0和小数点,7个字符表示实际的尾数,1个字符表示E,1个字符表示指数的符号,2个字符用于表示指数自身
±0.dddddddE ±ee
所以,用E表示的时候,要特别注意表示域的宽度问题,一般至少满足如下表达式:
w≥d+7
实数输出----ES描述
rESw.d
ES描述和E描述的区别在于尾数的选取不同,ES描述是用的科学记数法,尾数选取范围是1.0~10.0,这种表示方式更适合科研和工程人员
ES表示:±d.dddddddE ±ee
可以看出,同样宽度下,ES可以比E多一个有效位
字符----
文档评论(0)