24小时热门版块排行榜    

查看: 1761  |  回复: 8
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

allenjobsf853

铜虫 (小有名气)

[求助] fortran整数输出格式的问题

编了一个fortran程序,但是格式不会弄 具体如下

想要第一段为7列宽度,输出整数, 第二输出字母 ,比如

1        ab
456    ab
125    ab

结果现在都是右顶格输出  撑了下面的样子:
        1ab
    456ab
    125ab

怎么才能弄成第一种的???  不尽感激啊
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

nono2009

超级版主 (文学泰斗)

No gains, no pains.

优秀区长优秀区长优秀区长优秀区长优秀版主

★ ★
余泽成(金币+2): 辛苦辛苦! 2011-07-05 20:21:36
网页的内容:
[quote]
想把一个矩阵存成txt文件,用制表符tab分割的,这样可以用excel打开,每个数据占一个格,而不是整行数据在一个格内。

不知道能不能这样存,怎么存?

高手指点!谢谢!


作者:mltx      发表时间:2007-5-2 10:45:00
 第1楼  

char(9)是tab。


作者:f2003      发表时间:2007-5-4 2:39:00
 第2楼  

以前大家都没有注意到char这样的内部函数。自从一位兄弟发现后,此类问题很好的被解决了。3人行必有我师啊~


作者:mltx      发表时间:2007-5-4 20:00:00
 第3楼  

同理可以输出很多系统字符命令:
char(10)=Line feed (换行)
char(13)=Carriage return (返回第一列)

如:
write(*,*) "ABCDEF",char(13),"abc"
输出结果为:
abcDEF



作者:qqz2001      发表时间:2007-5-5 7:41:00
 第4楼  


可是一行有几万个数据,总不能这样一个一个写char(9)吧


作者:mltx      发表时间:2007-5-5 8:54:00
 第5楼  

如果需要,只得写。可以用循环语句嘛。


作者:qqz2001      发表时间:2007-5-5 8:59:00
 第6楼  

但是循环每次就换行了,怎么继续接在原来一行后面继续啊?
谢谢


作者:mltx      发表时间:2007-5-5 21:04:00
 第7楼  

可以用advance='no'吧。

也可以用隐循环嘛:
write(*, "( 10(e12.5,a) )" ) ( (a(i),char(9)), i=1,10)
其中含有变量的格式部分可以用内部文件实现。


作者:qqz2001      发表时间:2007-5-5 21:18:00
 第8楼  


谢谢,很好用。
又学了一招
我是fortran初学者,
但每次遇到困难都能得到帮助,同时能学到很多东西
非常感谢!!
[quote]
8楼2011-07-05 18:43:50
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 9 个回答

snoopyzhao

至尊木虫 (职业作家)

【答案】应助回帖


jjdg(金币+1): 感谢参与 2011-07-05 12:40:27
allenjobsf853(金币+10): 这个肯定不行,上万行的文本,数字是不一样的 2011-07-05 18:13:06
这个似乎没有什么好办法,你需要知道你的整数的长度是多少,然后人为控制,比如
CODE:
write(*,'(i0,5x,a)') 1, 'ab'
write(*,'(i0,3x,a)') 456, 'ab'
write(*,'(i0,3x,a)') 456, 'ab'

2楼2011-07-04 20:12:40
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

snoopyzhao

至尊木虫 (职业作家)

【答案】应助回帖

★ ★ ★
jjdg(金币+3): 感谢参与 2011-07-05 12:40:16
另外一种方法,可能更简便一些:
CODE:
program i2s

character(len=10) :: ci

write(ci,'(i0)') 1234567890
write(*,'(a,a)') ci,'ab'

write(ci,'(i0)') 123456
write(*,'(a,a)') ci,'ab'

end program i2s

3楼2011-07-04 20:25:16
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

nono2009

超级版主 (文学泰斗)

No gains, no pains.

优秀区长优秀区长优秀区长优秀区长优秀版主

【答案】应助回帖

★ ★
余泽成(金币+2): 谢谢参与应助! 2011-07-05 20:19:06
4楼2011-07-04 20:25:53
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见