Fortran运行时错误:列表输入的第1项中的实数错误

Fortran运行时错误:列表输入的第1项中的实数错误,fortran,gfortran,fortran77,Fortran,Gfortran,Fortran77,我收到运行时错误:此示例问题的列表输入的第1项中存在错误的实数。请建议正确的方法 implicit double precision (a-h,o-x) parameter (ni=150) dimension x(ni) open(40,file='fortin') do 80 i=1,5 read(40,*)x(i) write(*,*)i,x(i) 80 continue stop end fortin文件中的

我收到运行时错误:
此示例问题的列表输入的第1项中存在错误的实数。请建议正确的方法

    implicit double precision (a-h,o-x)
    parameter (ni=150)  
    dimension x(ni)
    open(40,file='fortin')
    do 80 i=1,5
    read(40,*)x(i)
    write(*,*)i,x(i)
80  continue
    stop
    end
fortin
文件中的数据按列排列

   1.0     
   5.0     
   3.0
   5.0
   7.0

您的代码只需要数字,文件中似乎有字符。要解决此问题,可以执行以下两种操作之一:

  • 删除
    fortin
    文件顶部的单词
  • 在循环之前添加一个
    read(*,*)
    (不需要任何后续内容)

  • 在我的例子中,问题在于数据文件,而不是代码


    我的问题是文件是Unicode格式的。当我在vi中查看时,它显示得很好。但当我在不支持unicode的查看器中查看时,例如使用midnight commander,它看起来像一团乱。给我发送文件的人后来告诉我,他将文件保存在UTF-16中。

    在“fortin”的顶部没有单词,(ii)read(,)没有从文件中读取值。我建议使用status='old'打开,以防出现路径问题,甚至没有打开您认为的文件。当我在
    fortin
    顶部有字符时,我会收到您提到的确切错误。当我删除这些字符(并保持空白行)时,我不会出错,数据读得很好。问题当然是你的文件。谢谢Kyle Kanos和George的帮助。好吧,当我重新创建文件时,问题消失了。这是输入文件的问题,凯尔是对的!。谢谢