FORTRAN经典入门程序20例

上传人:1516****951 文档编号:133921953 上传时间:2020-05-31 格式:DOCX 页数:8 大小:259.97KB
返回 下载 相关 举报
FORTRAN经典入门程序20例_第1页
第1页 / 共8页
FORTRAN经典入门程序20例_第2页
第2页 / 共8页
FORTRAN经典入门程序20例_第3页
第3页 / 共8页
FORTRAN经典入门程序20例_第4页
第4页 / 共8页
FORTRAN经典入门程序20例_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《FORTRAN经典入门程序20例》由会员分享,可在线阅读,更多相关《FORTRAN经典入门程序20例(8页珍藏版)》请在金锄头文库上搜索。

1、FORTRAN经典入门程序20例对于FORTRAN的初学者。这些例子可作为小练习。1.例题:计算工资问题。每小时工资为RATE,如果工作超过40小时,加班呢部分工资是正常时间工资的1.5倍。C Payroll with overtime program payroll real rate, hours, pay read (*,*) rate, hours if (hours40) then pay=40*rate+(hours-40)*1.5*rate else pay=hours*rate END IF print *,rate=, rate print *, hours=, hours

2、print *,pay=,pay end2.学生成绩问题。大于80为A级。大于60小于80为B级。小于60为C级。 IF的嵌套。注意空格可以看清楚else if ,end if,print的内容. PROGRAM GRADESTUDENT READ *,GRADE IF (GRADE .GE. 80) THEN PRINT *,GRADE,GRADE=A ELSE IF (GRADE.LT.60) THEN PRINT*,GRADE,GRADE=C ELSE PRINT*,GRADE,GRADE=B END IF END IF END3.三个数按从小到大排序。PROGRAM MAXMIN RE

3、AL A,B,C,T READ *,A,B,C IF (A.GT.B) THEN T=A A=B B=T ELSE END IF IF (B.GT.C) THEN T=B B=C C=T ELSE END IF IF (A.GT.B) THEN T=A A=B B=T END IF PRINT *,A,B,C END4.运用EISE IF语句。重做例子2PROGRAM ex2 READ (*,*) GRADE IF (GRADE .GE. 80.0) THEN PRINT *, GRADE,=A ELSE IF(GRADE .GE. 70.0)THEN PRINT *, GRADE,=B EL

4、SE IF(GARDE .GE. 60.0)THEN PRINT *, GRADE,=C ELSE PRINT *, GARDE,=D END IF END5. 计算 PROGRAM EQUATION 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 END6.CONTINUE语句。为了使循环的起止范围清晰,使用终端语句例:求5!program ex1 FACT=1 do 10, N=1,5,1 #DO 语句标号,循环不变量=初值,终值,步长 FACT=FACT*N10 co

5、ntinue print*,FACT end求1!+2!+3!+N!READ *,N FACT=1 sum=0.0 do 10, I=1,N,1 FACT=FACT*I SUM=SUM+FACT10 continue print*,SUM end7.求EX=1+X+X2/2!+X3/3!+.+XN/N! READ *,X,N sum=1 TERM=1 do 10, I=1,N,1 TERM=TERM*X/I SUM=SUM+TERM10 continue print*,EXP(,X,),SUM end8.打印九九乘法表 do 10,I=1,9,1 do 20,J=1,I PRINT*,I,*,

6、J,=,I*J20 CONTINUE10 CONTINUE end9.百钱买百鸡公鸡5元每只。母鸡3元每只,小鸡1元三只。求100元买一百只鸡。 INTEGER X,Y,Z DO 10,X=0,100 DO 20,Y=0,100 DO 30,Z=0,100 IF(X+Y+Z .EQ. 100)THEN IF(15*X+9*Y+Z .EQ. 300)PRINT *,X,Y,Z END IF30 CONTINUE20 CONTINUE10 CONTINUE END10.DO循环用来处理循环次数确定的情况比较方便。在处理无法事先知道循环次数时,使用当型循环。(1)DO WHILE DO 标号,WHI

7、LE(逻辑表达式)循环体CONTINUE 标号例 统计若干同学的得分并计算平均值。INTEGER SCORE,COUNT READ*,SCORE SUM=0 COUNT=0 DO 10, WHILE(SCORE .GT. 0.0) SUM=SUM+SCORE COUNT=COUNT+1 READ *,SCORE10 CONTINUE AVER=SUM/COUNT PRINT *,AVER END11.辗转相除法求最大公约数。如26和6的最大公约数。先用27除以6,余数是3,再用6除以3,余数为0,则3就是最大公约数。命令MOD()求余数。INTEGER M,N,R,T READ*,M,NIF

8、(M .LT. N)THEN T=M M=N N=T END IF R=MOD(M,N) DO 10, WHILE(R .NE. 0) M=N N=R R=MOD(M,N)10 CONTINUE PRINT *,zui da gong yue shu,N END12.判断一个数是否是素数。SQRT()开根号 READ *,N MAX=sqrt(real(N) I=2 DO 10, WHILE (I .LE. MAX .AND. MOD(N,I) .NE. 0) I=I+110 CONTINUE IF(I .GT. MAX)THEN PRINT*,N,IS A PRIME NUMBER ELSE

9、 PRINT *,N,IS NOT A PRIME NUMVER END IF END13.求100和200之间能被3或7整除的自然数。 I=10010 IF(I .LE. 200)THEN IF (MOD(I,3) .EQ. 0 .OR. MOD(I,7) .EQ. 0)THEN PRINT*,I,ABLE ELSE PRINT*,I,UNABLE END IF I=I+1 GOTO 10 END IF END14. 直到型循环,UNTIL 语句实现直到型循环。 格式“ DO S1,UNTIL(条件) 循环体 标号S1 CONTINUE例14用直到型循环求5! FORTRAN不支持UNTIL

10、语句。INTEGER I,PRODUCT I=1 PRODUCT=1 DO 10, UNTIL(I .GT. 5) PRODUCT=PRODUCT*I I=I+110 CONTINUE PRINT *,5!=,PRODUCT ENDFORTRAN不支持UNTIL语句。让我们改成DO WHILE格式。INTEGER I,PRODUCT I=1 PRODUCT=1 DO 10, WHILE(I .LT. 5) PRODUCT=PRODUCT*I I=I+110 CONTINUE PRINT *,5!=,PRODUCT END15. INTEGER R,I,J,S,T,SUMDO 10, I=100

11、,999,1 T=I SUM=0 DO 20 ,J=1,3,1 R=MOD(T,10) SUM=SUM+R*3 T=T/1020 CONTINUE IF (SUM .EQ. I) PRINT *,I,is a daffodil NUMBER10 CONTINUE END15.求一元二次方程的根 。DOUBLE PRECISION A, B, CCOMPLEX X1,X2READ *,A,B,CIF(B*2-4*A*C .GE.0)THEN X1=CMPLX(-B+SQRT(B*2-4*A*C)/(2*A),0.0) X2=CMPLX(-B-SQRT(B*2-4*A*C)/(2*A),0.0) ELSE X1=CMPLX(-B/(2*A),SQRT(-(B*2-4*A*C)/(2*A) X2=CMPLX(-B/(2*A),-SQRT(-(B*2-4*A*C)/(2*A) END IF PRINT *,X1,X2 END16. 打印此图像。CHARACTER*9 LINE DO 10, I=-4,4,1 K=1 DO 40 J=1,ABS(I),1 LINE(K:K)= K=K+14

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号