快捷搜索:  汽车  科技

fortran怎么输出多个字符?输出九九乘法表

fortran怎么输出多个字符?输出九九乘法表end doend ifdo i=1 n 1if(mod(i 2)==0)thensum=sum i

今天的作业是输出九九乘法表,相信学过编程的朋友们都做过这样的作业,这道题的主要目的是掌握双循环和输出格式。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(* "(i2 a1 i1 a1 i2)" advance="no")i "*" j "=" i*j

end do

write(* *) !增加空行

end do

pause

stop

end program test30

朋友们看下输出语句

write(* "(i2 a1 i1 a1 i2)" advance="no")i "*" j "=" i*j

这句中”i2“是i的输出格式,整数2位。为什么是2位?是保证前面有一个空格,横向输出不会连在一起。

"a1"输出一位字符*,"i1"输出i一位 ”a1“输出= "i2"输出i*j的值。advance="no"表示不换行,以前的版本有用$符号的,现在的标准是用advance。也可以在输出后加空格,用1x表示。

write(* "(i1 a1 i1 a1 i2 1x)" advance="no")i "*" j "=" i*j

这样也是可以的。

运行后效果是这样的:

fortran怎么输出多个字符?输出九九乘法表(1)

Fortran我也是初学,好久不写代码了,欢迎朋友们指正。

fortran怎么输出多个字符?输出九九乘法表(2)

猜您喜欢: