!find smallest number
subroutine findsmall(z, i, j, small, count0, y)
implicit none
integer:: i, j, small, count0
real:: z(121), temp, y(121)
300 format(//, t1, 9(f6.2, 2x))
read(*, 300) z(1:121)
do i=1, 120, 1
small = i
do j=i+1, 121, 1
if (z(small) > z(j)) then
small = j
end if
end do
temp = z(i)
z(i) = z(small)
z(small) = temp
y(i) = z(i)
count0 = count0 + 1
end do
print 300, y(1:121)
print*, count0
end subroutine findsmall
这是我的子程序。它接受来自打印生成随机数的打印语句的输入数据。打印发生后,需要将输入读入数组,我的尝试发生在第 26 行,即:
read(*, 300) z(1:121)
我收到一条错误消息,显示“fortran 运行时错误:浮点读取期间的值错误”。我不明白这里出了什么问题,它之前排序的结果好坏参半。我改变了一些事情,比如将温度从整数移动到实数,以保持百分之一的数字,现在到处都是 fubar,fubar。