Fortran计算九宫格运算等于4(do循环format换行)
1、首先介回顾这个“九宫格行、列加减乘除四则运算均等于4的问题”。如下图,在九个方格内填入1-9的数字,使每行、每列的加减乘除四则运算都等于4。

2、下面启动Fortran编译器,通过File-->New-->Project Workspace,建立一个工程,工程Name不妨命名为calculation,工程Location自行设置。


3、然后,通过File-->New-->Text File在该工程下建立一个空白的Fortran语言编辑脚本(文件),并通过File-->Save保存该脚本,并将脚本File Name不妨命名为ninepatch.f(建议以.f结尾,暂不使用.f90结尾,即删除.f90中的90),然后点击OK,此时Fortran编辑脚本中出现绿色竖线。下面开始写代码。



4、输入以下代码(如下图):
program main
integer i11,i12,i13
integer i21,i22,i23
integer i31,i32,i33
open(10,file='results.txt',status='unknown',form='formatted')
do ia=1,9
i11=ia
do ib=1,9
i12=ib
do ic=1,9
i13=ic
do id=1,9
i21=id
do ie=1,9
i22=ie
do ig=1,9
i23=ig
do ih=1,9
i31=ih
do ii=1,9
i32=ii
do ij=1,9
i33=ij
if(i11+i12-i13.eq.4 .and.
& i21-i22*i23.eq.4 .and.
& i31+i32-i33.eq.4 .and.
& i11+i21/i31.eq.4 .and.
& i12-i22*i32.eq.4 .and.
& i13-i23-i33.eq.4 )then
print *,'results='
print *,i11,i12,i13
print *,i21,i22,i23
print *,i31,i32,i33
write(10,*) 'results='
write(10,100)i11,i12,i13,
& i21,i22,i23,
& i31,i32,i33
endif
enddo
enddo
enddo
enddo
enddo
enddo
enddo
enddo
enddo
100 format(3(1x,3i2/))
end
其中integer定义了i11-i33九个变量,open(10,***)建立results.txt文档用于写入结果,print *直接显示在屏幕上,write(10,100)将结果写入设备号为10也就是写入results.txt文档中,其格式按照100 format(3(1x,3i2/))的格式要求,斜线/起到换行的作用。


5、然后点击编译(Compile/Ctrl+F8)、建立(Build/Shift+F8)(如下图)。如果编译没错误,就通过导航栏Build-->Execute calculation.exe执行该程序,或直接Ctrl+F5执行该程序。


7、此时该工程所在目录下,也会存在results.txt的文档,打开该文档查看结算。发现这六组结果都能满足“九宫格行、列加减乘除四则运算均等于4”的要求。
这道简单的数学题目就解决了。If you are interesting in these, please give some comments. My Baidu Jingyan name is jin_defence, please fellow me.
