对于FORTRAN的初学者。这些例子可作为小练习。
CPayrollwithovertime
programpayroll
realrate,hours,pay
read(*,*)rate,hours
if(hours>40)then
pay=40*rate+(hours-40)*1.5*rate
else
pay=hours*rate
ENDIF
print*,"rate=",rate
print*,"hours=",hours
print*,"pay=",pay
end
2.学生成绩问题。大于80为A级。大于60小于80为B级。小于60为C级。IF的嵌套。注意空格可以看清楚elseif,endif,print的内容.
PROGRAMGRADESTUDENT
READ*,GRADE
IF(GRADE.GE.80)THEN
PRINT*,GRADE,"GRADE=>A"
IF(GRADE.LT.60)THEN
PRINT*,GRADE,"GRADE=>C"
ELSE
PRINT*,GRADE,"GRADE=>B"
END
3.三个数按从小到大排序。
PROGRAMMAXMIN
REALA,B,C,T
READ*,A,B,C
IF(A.GT.B)THEN
T=A
A=B
B=T
IF(B.GT.C)THEN
T=B
B=C
C=T
PRINT*,A,B,C
4.运用EISEIF语句。重做例子2PROGRAMex2
READ(*,*)GRADE
IF(GRADE.GE.80.0)THEN
PRINT*,GRADE,"=>A"
ELSEIF(GRADE.GE.70.0)THENPRINT*,GRADE,"=>B"
ELSEIF(GARDE.GE.60.0)THENPRINT*,GRADE,"=>C"
PRINT*,GARDE,"=>D"
5.计算236,x0
y28,0xxxx+≥=-+-<
PROGRAMEQUATION
READ(*,*)X
IF(X.GE.0.0)Y=3*X+6
IF(X.LT.0.0)Y=-X**2+2*X-8
PRINT*,"X=",X,"Y=",Y
6.CONTINUE语句。为了使循环的起止范围清晰,使用终端语句
例:求5!
programex1
FACT=1
do10,N=1,5,1##DO语句标号,循环不变量=初值,终值,步长
FACT=FACT*N
10continue
print*,FACT
求1!+2!+3!+···+N!
READ*,N
sum=0.0
do10,I=1,N,1
FACT=FACT*I
SUM=SUM+FACT
print*,SUM
7.求E^X=1+X+X^2/2!+X^3/3!+...+X^N/N!
READ*,X,N
sum=1
TERM=1
TERM=TERM*X/I
SUM=SUM+TERM
print*,"EXP(",X,")",SUM
8.打印九九乘法表
do10,I=1,9,1
do20,J=1,I
PRINT*,I,"*",J,"=",I*J
20CONTINUE
10CONTINUE
9.百钱买百鸡
公鸡5元每只。母鸡3元每只,小鸡1元三只。求100元买一百只鸡。
INTEGERX,Y,Z
DO10,X=0,100
DO20,Y=0,100
DO30,Z=0,100
IF(X+Y+Z.EQ.100)THEN
IF(15*X+9*Y+Z.EQ.300)PRINT*,X,Y,Z
30CONTINUE
10.DO循环用来处理循环次数确定的情况比较方便。在处理无法事先知道循环次数时,使用当型循环。(1)DOWHILE