avatar
A*S
1
数据文件中一串的数据,每四位表示一个要输入的数,前两位表示整数部分,后两位表示小
数部分,现在要吧它读到数组中去,如何写简单的fortran程序!
比如:
123405691209081289762309
是:
12.34 5.69 12.09 8.12 89.76 23.09
从没接触过fortran,现成的程序要挟接口,大虾情赐招!
avatar
h*o
2
每一行多少个知道吗?
要么先用perl处理一下

【在 A*S 的大作中提到】
: 数据文件中一串的数据,每四位表示一个要输入的数,前两位表示整数部分,后两位表示小
: 数部分,现在要吧它读到数组中去,如何写简单的fortran程序!
: 比如:
: 123405691209081289762309
: 是:
: 12.34 5.69 12.09 8.12 89.76 23.09
: 从没接触过fortran,现成的程序要挟接口,大虾情赐招!

avatar
A*S
3
知道没行多少
比如是5个
DO I = 1,5
read(10,100) a(I)
write(*,*) 'a=',a(I),
END DO
100 format (I4)
我先读入证书,然后除以100
但不行,总complain文件到头了

【在 h***o 的大作中提到】
: 每一行多少个知道吗?
: 要么先用perl处理一下

avatar
h*o
4
你原来是c出身的吧。hoho
Fortran里一次read就读一行,所以你得让read一次把东西都读齐了。
dimension a(5)
read(7,100) a
do i = 1, 5
write(*,*) 'a=',a(i)/1.d2
end do
100 format (5f4.0)

【在 A*S 的大作中提到】
: 知道没行多少
: 比如是5个
: DO I = 1,5
: read(10,100) a(I)
: write(*,*) 'a=',a(I),
: END DO
: 100 format (I4)
: 我先读入证书,然后除以100
: 但不行,总complain文件到头了

avatar
A*S
5
In the foramt I need to specify something like
advance="no"
because it is a variable-length array,
I cannot decide the format like
format (5f4.0)
It may be 6 or 7 numbers.
Anyway, happy enough, I did finish it.

【在 h***o 的大作中提到】
: 你原来是c出身的吧。hoho
: Fortran里一次read就读一行,所以你得让read一次把东西都读齐了。
: dimension a(5)
: read(7,100) a
: do i = 1, 5
: write(*,*) 'a=',a(i)/1.d2
: end do
: 100 format (5f4.0)

avatar
n*s
6

character(len=80)::buf
character(len=8)::fmtstr="(??f4.2)"
integer::n,i
integer::datafile
open(unit=datafile,file="...",...)
read(unit=datafile,fmt="(a80)")buf ! read entire record into buf
n=len_trim(buf)/4 ! how many numbers? (4 chars per number)
write(unit=fmtstr(2:3),fmt='(i2)')n ! dynamically change format
read(unit=buf,fmt=fmtstr)(x(i),i=1,n,1) ! internal file read, like sscanf()
close(unit=datafile)
Also take a look at the : edit descriptor in a good Fortran book.
If you read 1234 using

【在 A*S 的大作中提到】
: In the foramt I need to specify something like
: advance="no"
: because it is a variable-length array,
: I cannot decide the format like
: format (5f4.0)
: It may be 6 or 7 numbers.
: Anyway, happy enough, I did finish it.

avatar
ay
7
easy

【在 A*S 的大作中提到】
: 数据文件中一串的数据,每四位表示一个要输入的数,前两位表示整数部分,后两位表示小
: 数部分,现在要吧它读到数组中去,如何写简单的fortran程序!
: 比如:
: 123405691209081289762309
: 是:
: 12.34 5.69 12.09 8.12 89.76 23.09
: 从没接触过fortran,现成的程序要挟接口,大虾情赐招!

相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。