24小时热门版块排行榜    

北京石油化工学院2026年研究生招生接收调剂公告
查看: 1045  |  回复: 24
当前主题已经存档。
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

tpp001

金虫 (著名写手)

[交流] 【求助】新手求助,不知道文件中数据有多少行怎么半?

新手求助!!
我要写一段程序,读取文件中的每一行数据,调用子程序进行计算,可是我并不知道这个文件有多少行,这段程序应该怎么写,请大家帮忙...
program main
implicit none
integer i, nrow ! nrow是文件的行数
character*10 atomname
open(1,file='co2.gro',status='unknown')
do i=1, nrow !读取文件中的每一行数据,可是我并不知道这个nrow的具体数值.
read(1,*) atomname,x(i),y(i),z(i)
if (atomname .eq. 'cb') then
call sub(x(i),y(i),z(i))
请大家帮忙,另外我想读取每一行数据后,调用子程序进行运算,我想知道把文件中的每一行数值赋值给子程序sub(x,y,z),像我这样写可以吗??
回复此楼

» 猜你喜欢

迷茫在知识的海洋里,需要你的指导。thankyou
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

tpp001

金虫 (著名写手)

引用回帖:
Originally posted by tjyl at 2009-11-19 21:26:
不好意思,没有注意到数组x,y,z还没有申明。
可以用一个链表来做。
或者笨一点的方法是用先那样读一次,计算出行号i。
然后再allocate(x(i),y(i),z(i))


谢谢你的回复,经过大家的指导我已经能计算出一个文件的行数了,在linux用cat -n 就可以.
可是我的程序又有其他问题了.望帮忙谢谢
我下面这个程序 compile没有错误,可是execute就不行,
我程序的主题就是,调用一个函数,计算函数值,然后累加函数数值.,输出函数数值的总和!
program main
implicit none
integer i
double precision,external :: cljinteraction !申明函数
character*5 atomname
double precision x(33972),y(33972),z(33972),line(33972)
double precision ljcc !函数输出数值
double precision vicc
    vicc=0.0
     open(1,file='co2ben.txt',status='unknown')
    do i=1, 33972
   read(1,*) line(i),atomname,x(i),y(i),z(i)
if (atomname .eq. 'Cb') then !如果原子是Cb,就调用下面函数
    ljcc=cljinteraction(x(i),y(i),z(i))
     vicc=vicc+ljcc !累加函数数值
endif
enddo
write(6,*) vicc !输出函数数值的总和
end

function cljinteraction(x,y,z)
implicit none
double precision cljinteraction
double precision x,y,z !输入变量
double precision ri2c, sr2c, sr6c, sr12c !中间使用量
    ri2c=(x-3.08)**2+(y-3.37)**2+(z-3.129)**2
   sr2c=0.32535/ri2c
   sr6c=sr2c*sr2c*sr2c
   sr12c=sr6c**2
   cljinteraction=sr12c-sr6c
return
end
迷茫在知识的海洋里,需要你的指导。thankyou
19楼2009-11-19 21:45:53
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 25 个回答

maomao1210

金虫 (正式写手)

★ ★
小木虫(金币+0.5):给个红包,谢谢回帖交流
余泽成(金币+1,VIP+0):谢谢参与应助! 11-17 16:55
可以这么写:
L=1
10  CONTINUE
READ(UNIT, *,END=120) A(L),B(L)
CALL SUB(A(L),B(L))
L=L+1
GOTO 10
120  CONTINUE
2楼2009-11-17 16:19:06
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

tpp001

金虫 (著名写手)

引用回帖:
Originally posted by maomao1210 at 2009-11-17 16:19:
可以这么写:
L=1
10  CONTINUE
READ(UNIT, *,END=120) A(L),B(L)
CALL SUB(A(L),B(L))
L=L+1
GOTO 10
120  CONTINUE

我是新手 能不能详细的说一下,另外这里的END=120是什么意思,有点晕,看了这段
迷茫在知识的海洋里,需要你的指导。thankyou
4楼2009-11-17 17:02:53
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

maomao1210

金虫 (正式写手)


小木虫(金币+0.5):给个红包,谢谢回帖交流
引用回帖:
Originally posted by at 2009-11-17 16:51:
少用GOTO

少用不是不用,不然咋不直接把这个功能去掉呢?哈哈。
阁下给个妙招呀。
5楼2009-11-17 19:35:32
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[硕博家园] 招收生物学/细胞生物学调剂 +4 IceGuo 2026-03-26 5/250 2026-03-29 01:25 by griffith2014
[考研] 调剂310 +7 温柔的晚安 2026-03-25 8/400 2026-03-29 01:09 by 我是小康
[考研] 22408 359分调剂 +4 Qshers 2026-03-27 5/250 2026-03-28 21:26 by zhq0425
[考研] 275求调剂 +10 Micky11223 2026-03-25 14/700 2026-03-28 15:48 by Micky11223
[考研] 283求调剂 +3 A child 2026-03-28 3/150 2026-03-28 15:41 by ms629
[考研] 0703一志愿9,初试成绩:338,四六级已过,有科研经历,求调剂! +4 Zuhui0306 2026-03-25 4/200 2026-03-28 13:07 by 唐沐儿
[考研] 07化学280分求调剂 +10 722865 2026-03-23 10/500 2026-03-27 15:51 by Plutoqq
[考研] 085601 材料工程 313分 求调剂 +5 Ong3 2026-03-27 5/250 2026-03-27 12:24 by goldfish51
[考研] 298调剂 +3 jiyingjie123 2026-03-27 3/150 2026-03-27 11:57 by wxiongid
[考研] 一志愿211,335分,0856,求调剂院校和导师 +4 倾____萧 2026-03-27 5/250 2026-03-27 11:52 by zhshch
[考研] 325求调剂 +5 李嘉图·S·路 2026-03-23 5/250 2026-03-27 00:42 by wxiongid
[考研] 调剂求收留 +7 果然有我 2026-03-26 7/350 2026-03-27 00:26 by wxiongid
[考研] 333求调剂 +6 wfh030413@ 2026-03-23 6/300 2026-03-26 22:45 by 学员8dgXkO
[考研] 【双一流院校新能源、环境材料,材料加工与模拟招收大量调剂】 +4 Higraduate 2026-03-22 8/400 2026-03-26 20:34 by Higraduate
[考研] 化学工程085602 305分求调剂 +17 RichLi_ 2026-03-25 17/850 2026-03-26 19:44 by plmuchong
[考研] 中国科学院深圳先进技术研究院-光纤传感课题组招生-中国科学院大学、深圳理工大学联培 +5 YangTyu1 2026-03-26 5/250 2026-03-26 18:27 by 猫咪猫咪呀
[考研] 材料考研求调剂 +3 Dendel 2026-03-23 6/300 2026-03-26 17:51 by fmesaito
[考研] 打过很多竞赛,085406控制工程300分,求调剂 +3 askeladz 2026-03-26 3/150 2026-03-26 09:08 by 给你你注意休息
[考研] 296求调剂 +4 汪!?! 2026-03-25 7/350 2026-03-25 16:41 by 汪!?!
[考研] 284求调剂 +3 yanzhixue111 2026-03-23 6/300 2026-03-23 22:58 by pswait
信息提示
请填处理意见