В вашем операторе чтения
read(1,'(f3.0)')line
f3.0
указывает программе тура читать 3 цифры с 0 цифрами после десятичной дроби (это означает синтаксис nm).Поэтому я предполагаю, что программа просто читает 1
из файла (не 1.2
), что является целым числом.Попробуйте заменить эту строку чем-то вроде
read(1,'(f3.1)')line
, хотя, если число в вашем файле может измениться и быть больше 9,9 или иметь более одного десятичного знака, вы должны увеличить ширину поля до значения, большего чем3.
См. Документацию read
встроенного и дескрипторов редактирования данных для получения дополнительной информации о чтении и записи на Фортране.
Редактировать : спецификатор формата, второй аргумент в кавычках в вашей прочитанной статистике, имеет форму fw.d
, где f
указывает, что данные для чтения являются числом с плавающей запятой, w
являетсяширина поля, включая все пробелы и десятичные точки, а d
указывает количество цифр справа от десятичной точки.