- integer は int に
        integer a,b,c(10)
              ↓
        int a,b,c[11];
- real, real&sstarf#star;8, double precision は double にB.17
        real a,b,c(10)
        real*8 x
              ↓
        double a,b,c[11],x;
- parameter 文による定数の宣言は #define に
直す。
        integer maxn
        real x0
        parameter (maxn=100, x0=0.0)
        ↓
#define MAXN 100
#define X0 0.0
ちなみに
- C では慣習として、名前の中で使う英字は
- 変数名の場合はすべて小文字
- 定数名の場合はすべて大文字
 を使う(逆をやったらモグリである)。したがって、定数は maxn とか MaxN 
とするよりは MAXN とするのが普通。
- #define は C の文というよりも、マクロなので、
- 最後にセミコロン ``;'' はつけない。
- # は必ず行の先頭(1桁目)にないとダメ。
 
 
- 大きな配列を用いる場合は、動的に確保することも検討する。少なくとも、
自動変数でなく、静的変数として宣言しよう。
        real a(10000)
          ↓
        int n;
        double *a;
        ...
        n = 今回の実行で本当に必要な量
        a = malloc(sizeof(double) * n);
        if (a == NULL) エラー処理
        ...
- dimension 文を使ってあった場合、変数宣言にまとめる。
        int a
        dimension a(1000)
             ↓
        int a[1001];
- read(5,) や read(*,) は scanf() や fgets(,,stdin) & sscanf() に治す。
        read(*,*) n,a
            ↓
        scanf("%d %lf", &n, &a);
        あるいは
        char buf[1024];
        ....
        fgets(buf, sizeof(buf), stdin);
        sscanf(buf, "%d %lf", &n, &a);
- write(6,) や write(*,) は printf() に
        write(*,*) n,a
            ↓
        printf("%d %f\n", n, a);
- format() は printf() や fprintf() のフォーマット指定文字列の中に
      write(*,1000) n,a,b
 1000 format(' ', I5, ' ', 2F14.5)
            ↓
      printf(" %5d %14.5f%14.5f\n", n, a, b);
- do 文は for 文に
      do 10 i=1,10
        do 20 j=N0,N1,N2
          むにゃむにゃ
 20     continue
 10   continue
            ↓
      for (i = 1; i <= 10; i++)
        for (j = N0; j <= N1; j += N2) {
          むにゃむにゃ
        }
- (定数の定義) parameter 文は #defineに
        integer n
        real a
        parameter (n=100, a=1.0)
          ↓
#define N 100
#define A 1.0
- 1次元配列 x(0:n) は x[n+1] に
        integer mm(0:n)
          ↓
        int mm[N+1];
- 宣言されていない変数は IJKLMN ルールで型を判定して、きちんと宣言
         ↓
        int n,n1,nn,j,k;
        double x0, a;