fortran输出数据不换行(fortran如何按行输出二维数组)
用c语言输出九九乘法表 Fortran 输出九九乘法表
今天的作业是输出九九乘法表,相信学过编程的朋友们都做过这样的作业,这道题的主要目的是掌握双循环和输出格式。C++,C#,Java或者Python语言初学都有这样的练习题。今天我们通过Fortran语言来实现。
解题前先说说上次的思考题:
1,输入一个数,计算所有小于的偶数累加;
sum=0
do i=1,n,1
if(mod(i,2)==0)then
sum=sum+i
end if
end do
大多数朋友都是这么做的,没毛病。判断对2取余等于0即是偶数,思路非常正确。但是不是最简便呢?
sum=0
do i=2,n,2 !从2开始,步进2
sum=sum+i
end do
这样是不是更简捷,效率更高了。
同理,第二思考题
2,输入一个数,计算所有小于的奇数累加。
sum=0
do i=1,n,1
if(mod(i,2)/=0)then
sum=sum+i
end if
end do
可以简化为
sum=0
do i=1,n,2 !注意是从1开始,步进2
sum=sum+i
end do
回到本文作业题,代码不截图直接输入。
program test30
implicit none
integer i,j
do i=1,9 !步进1可以省略
do j=1,i
write(*,#34(i2,a1,i1,a1,i2)#34,advance=#34no#34)i,#34*#34,j,#34=#34,i*j
end do
write(*,*) !增加空行
end do
pause
stop
end program test30
朋友们看下输出语句
write(*,#34(i2,a1,i1,a1,i2)#34,advance=#34no#34)i,#34*#34,j,#34=#34,i*j
这句中”i2“是i的输出格式,整数2位。为什么是2位?是保证前面有一个空格,横向输出不会连在一起。
#34a1#34输出一位字符*,#34i1#34输出i一位,”a1“输出=,#34i2#34输出i*j的值。advance=#34no#34表示不换行,以前的版本有用$符号的,现在的标准是用advance。也可以在输出后加空格,用1x表示。
write(*,#34(i1,a1,i1,a1,i2,1x)#34,advance=#34no#34)i,#34*#34,j,#34=#34,i*j
这样也是可以的。
运行后效果是这样的:
Fortran我也是初学,好久不写代码了,欢迎朋友们指正。
fortran如何按行输出二维数组 fortran语言表示乘法