编写一个Fortran程序

编写一个Fortran程序,第1张

数据的说明你没给呢?每行代表什么意思?

其实从文件读和写入文件都很简单,用下面的命令即可

open(100,file='nametxt')

read(100,) x,y

close(100)

open(200,file='nametxt')

write(200,) x,y

close(200)

输出的数是这样的

1   2

3   4

5   6

(1X,2I4)意思是,每一次输出一个空格,然后是两个占4位的整数然后就该换行了

因此一共生成三行数据,6/2=3

输出的值是J,J的大小是1到6,因此生成的记录数应该是A  6个

执行 a(i,j)=1 这一句的时候,刚跳出 j 的循环, j 应该等于6的,给a(i,j)赋值应该会有问题

另外输出的时候((a(i,j),i=1,5),i=1,5),两个都是 i ,没问题么?

program randomEG

implicit none

integer :: k, i,j, temp, n=10000

real :: r

integer, dimension(8) :: values 

! Declare an assumed shape, dynamic array

integer, dimension(:), allocatable :: seed

integer, dimension(:), allocatable :: results

! gfortran subroutine to return date and time information 

! from the real time system clock Works down to milliseconds 

! and stores the eight return values in array values

call date_and_time(VALUES=values)

! restart the state of the pseudorandom number generator

! k = minimum size of seed (12 on my system)

call random_seed(size=k)

! allocate memory to seed

allocate(seed(k))

allocate(results(n))

! assign information in values to seed

seed(:) = values(:)

! seed the random number generator

call random_seed(put=seed)

do i=1,n

    results(i) = irand()

end do

do i=1,n

    do j=i+1,n

        if (results(i) > results(j)) then

            temp = results(i)

            results(i) = results(j)

            results(j) = temp

        endif

    enddo

enddo

do i=1,n

    print , results(i)

end do

end program randomEG

以上就是关于编写一个Fortran程序全部的内容,包括:编写一个Fortran程序、FORTRAN语言程序、fortran程序求教等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10120132.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存