我正在尝试根据一个确定其大小的变量来获取我的数字数组并对其进行排序。
该数组是使用 Fortran 95 上的随机数种子创建的。但是,当我尝试对其进行排序时,我遇到了大麻烦。它编译得很好,但是数组中打印了很多星号。
此外,我想横向打印我的数组(例如:1 2 3 4 等),但我什至没能做到。我意识到必须在 DO 循环中使用 Advance="no" 来完成,但显然这也是错误的。
下面是我正在使用的代码。如果有人愿意让我知道我可能错在哪里,我将不胜感激。谢谢你的时间。
SUBROUTINE Sorter(num, numinteger)
INTEGER, INTENT(OUT):: num(100)
INTEGER, INTENT(IN):: numinteger
DO i=1, (numinteger-1)
min=num(i)
pos=i
DO j=i,numinteger
IF (num(j)<min)THEN
min=num(j)
pos=j
END IF
END DO
temp=num(i)
num(i)=min
num(pos)=temp
END DO
PRINT*, " "
PRINT*, "Sorted Numbers"
DO i=1, numinteger
WRITE(*,23,ADVANCE="NO") num
23 FORMAT (I2)
END DO
END SUBROUTINE
谢谢!