华华的OCTOPRESS BLOG

我是华华,这是我的OCTOPRESS博客

Fortran77按行写入数据

| Comments

老板最近要做一个算散射的数据,matlab下面找不到现成的程序,找到能用的程序又不知道它是怎么算的,自已去编一个又不现实,不过早已经有别人编好fortran77的T-matrix程序拿来算,可是他又不会用fortran。鉴于我以前在linux下面用过别人的fortran程序,就把任务交给我了,我帮他编译好lapack库,让他的程序能用起来,还手把手教会它怎么使用程序,可他还是不满足于程序一次只能算一个数据。然后他自己捣鼓了三天能让程序算一列数据后,又让我再给它加个循环让程序一次能给出多组程序。可是我不会用啊,搜到的程序都是f90或者f95的,f77数组输出真得很弱,没办法只能慢慢弄,经过昨晚看书加今天早上半早上的努力,终于弄出来了,现在看看程序还是比较简单的,就是一开始不太懂fortran的语法,还有熟悉了现代化的语言后在用这古老的语言确实有点折腾。

 

贴出这两个程序,高手们别笑我:


test.f

 


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
PROGRAM main
      OPEN (6,FILE='test')
      do 10 i=1,5
C     行
      do 20 j=1,10
C     列      
      k=i*j
      write (6,100), k
100   FORMAT (I4,$)
C     $不换行
20    continue
      write (6,*) ' '
C     空格换行
10    continue
      END PROGRAM main

 

test1.f

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
program main
      integer M(9,18)
      OPEN (6,FILE='test')
C     定义整型数组
      do 10 i=1,9 
C     行
      do 10 j=1,18
C     列
      m(i,j)=i*j

10    continue
      write (6,100) m
100   format(18i4)
C     格式化输出18列数据
      end program main

 

Comments