24小时热门版块排行榜    

查看: 698  |  回复: 6

lijunjiexm

铁虫 (小有名气)

[求助] 求助简单的一个参数传递问题,谢谢

请教一个简单程序MID,
     PROGRAM MID

        implicit real*8(a-h,o-z)
      real*8 ia(5)
      
        open(10,file='inid.dat')
        open(21,file='mesh1.dat')
      read(21,*) numnp,numel

        do 300 i=1,numnp
            read(21,2100) idum,xreal,yreal,ia(i)
            write(10,*) ia(i)       
c         write(10,2100)  idum,xreal,yreal,ia(i)
300   continue
     
2100  format(i5,2x,e15.5,2x,e12.5,2x,i2)

      end
C---------------------------------------------------------------------------------------
mesh1.dat为
         5        2 numnp , numel
    1      0.00000E+00   0.00000E+00   1
    2      0.00000E+00   0.35803E-03   1   
    3      0.00000E+00   0.70174E-03   1  
    4      0.00000E+00   0.10317E-02   1  
    5      0.00000E+00   0.13485E-02   1  
但是 用 write(10,*)  ia(i)语句后,写进去的inid.dat文件为:
  4.940656458412465E-324
  4.940656458412465E-324
  4.940656458412465E-324
  4.940656458412465E-324
  4.940656458412465E-324
而选择write(10,2100)  idum,xreal,yreal,ia(i) ,则inid.dat为
   1      0.00000E+00   0.00000E+00   1
    2      0.00000E+00   0.35803E-03   1   
    3      0.00000E+00   0.70174E-03   1  
    4      0.00000E+00   0.10317E-02   1  
    5      0.00000E+00   0.13485E-02   1
但在在debug过程ia的数据居然是 4.940656458412465E-324,这个怎么解释呢?怎么使得ia数组等于 1 1 1 1 1?请多多指教,谢谢
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

snoopyzhao

至尊木虫 (职业作家)

【答案】应助回帖

★ ★
xzhdty(金币+2): 欢迎常来程序语言看看 2011-09-02 09:20:12
把 real*8 ia(5) 改成 integer ia(5) 就可以了(gfortran 验证通过)。如果不修改,在 gfortran 下会报如下错误:

Fortran runtime error: Expected INTEGER for item 5 in formatted transfer, got RE
AL
(i5,2x,e15.5,2x,e12.5,2x,i2)
                         ^
2楼2011-09-01 22:07:11
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

lijunjiexm

铁虫 (小有名气)

引用回帖:
2楼: Originally posted by snoopyzhao at 2011-09-01 22:07:11:
把 real*8 ia(5) 改成 integer ia(5) 就可以了(gfortran 验证通过)。如果不修改,在 gfortran 下会报如下错误:

Fortran runtime error: Expected INTEGER for item 5 in formatted transfer, got RE
AL
( ...

为什么real不行呢?试了下把real*8改成dimension好像也可以,这个能稍微解释下吗,谢谢
3楼2011-09-01 22:19:55
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

lijunjiexm

铁虫 (小有名气)

对了,忘了说一下,您的inid.dat文件生成是这个(我想要的)吗 (在这个语句下 write(10,*)  ia(i)语句)

1
  1   
  1  
  1  
  1
4楼2011-09-01 22:24:05
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

snoopyzhao

至尊木虫 (职业作家)

【答案】应助回帖

引用回帖:
3楼: Originally posted by lijunjiexm at 2011-09-01 22:19:55:
为什么real不行呢?试了下把real*8改成dimension好像也可以,这个能稍微解释下吗,谢谢

real*8 ia(5) 相当于
real* ia
dimension ia(8)

不行的原因是因为 format 中明确地写了第五项是 i2 格式,即是一个 integer,但 read 语句发现第 5 项是一个 real*8 的变量……
5楼2011-09-01 22:26:36
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

snoopyzhao

至尊木虫 (职业作家)

【答案】应助回帖


lijunjiexm(金币+30): Thanks,看来format要好好学学了 2011-09-01 22:30:26
xzhdty(金币+1): 谢谢了 2011-09-02 09:20:49
你要是真想把第五项读成 real,那么,换种方式好了,如:

         read(21,2100) idum,xreal,yreal,itemp
         ia(i) = itemp
6楼2011-09-01 22:27:31
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

snoopyzhao

至尊木虫 (职业作家)

引用回帖:
4楼: Originally posted by lijunjiexm at 2011-09-01 22:24:05:
对了,忘了说一下,您的inid.dat文件生成是这个(我想要的)吗 (在这个语句下 write(10,*)  ia(i)语句)

1
  1   
  1  
  1  
  1

是这样的啊……
7楼2011-09-01 22:28:13
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 lijunjiexm 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 335分 | 材料与化工专硕 | GPA 4.07 | 有科研经历 +4 cccchenso 2026-03-23 4/200 2026-03-23 23:00 by 徐ckkk
[考研] 327求调剂 +5 prayer13 2026-03-23 5/250 2026-03-23 22:11 by 星空星月
[考研] 生物学学硕求调剂 +4 小羊睡着了? 2026-03-23 4/200 2026-03-23 21:42 by hyzs6688
[考研] 一志愿南京理工大学085701资源与环境302分求调剂 +5 葵梓卫队 2026-03-18 7/350 2026-03-23 16:26 by lingjue
[考研] 材料与化工考研调剂 +4 孅華 2026-03-22 4/200 2026-03-23 16:13 by 一休哥FU
[考研] 0854电子信息求调剂 +3 α____ 2026-03-22 3/150 2026-03-22 21:28 by zhq0425
[考研] 315分,诚求调剂,材料与化工085600 +3 13756423260 2026-03-22 3/150 2026-03-22 20:11 by edmund7
[考研] 寻找调剂 +4 倔强芒? 2026-03-21 4/200 2026-03-22 16:14 by 木托莫露露
[考研] 311求调剂 +3 26研0 2026-03-20 3/150 2026-03-22 14:46 by ColorlessPI
[基金申请] 山东省面上项目限额评审 +4 石瑞0426 2026-03-19 4/200 2026-03-22 08:50 by Wei_ren
[考研] 广西大学材料导师推荐 +3 夏夏夏小正 2026-03-17 5/250 2026-03-21 22:20 by 金昊ML
[考研] 0805 316求调剂 +3 大雪深藏 2026-03-18 3/150 2026-03-21 18:55 by 学员8dgXkO
[考研] 297求调剂 +11 戏精丹丹丹 2026-03-17 12/600 2026-03-21 17:47 by ColorlessPI
[考研] 083200学硕321分一志愿暨南大学求调剂 +3 innocenceF 2026-03-17 3/150 2026-03-21 02:35 by JourneyLucky
[考研] 332求调剂 +4 ydfyh 2026-03-17 4/200 2026-03-21 02:20 by JourneyLucky
[考研] 一志愿重庆大学085700资源与环境专硕,总分308求调剂 +3 墨墨漠 2026-03-18 3/150 2026-03-21 00:39 by JourneyLucky
[考研] 274求调剂 +10 S.H1 2026-03-18 10/500 2026-03-20 23:51 by JourneyLucky
[考研] 一志愿武汉理工材料工程专硕调剂 +9 Doleres 2026-03-19 9/450 2026-03-20 22:36 by JourneyLucky
[考研] 290求调剂 +7 ^O^乜 2026-03-19 7/350 2026-03-20 21:43 by JourneyLucky
[考研] 086500 325 求调剂 +3 领带小熊 2026-03-19 3/150 2026-03-20 18:38 by 尽舜尧1
信息提示
请填处理意见