




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、精品对于FORTR颜初学者。这些例子可作为小练习。1 .例题:计算工资问题。每小时工资为RATE,如果工作超过40小时,加班呢部分工资是正常时间工资的1.5倍。C Payroll with overtime program payroll real rate, hours, pay read (*,*) rate, hours if (hours>40) then pay=40*rate+(hours-40)*1.5*rate elsepay=hours*rateEND IFprint *, "rate=" , rateprint *, "hours=&qu
2、ot; , hours print *, "pay=" ,payend2 .学生成绩问题。大于80为A级。大于60小于80为B级。小于60为C级。IF的嵌套。注意空格可以看清楚 else if ,end if,print 的内容.PROGRAM GRADESTUDENTREAD *,GRADEIF (GRADE .GE. 80) THENPRINT *,GRADE, "GRADE=>A"ELSEIF (GRADE.LT.60) THENPRINT*,GRADE, "GRADE=>C"ELSEPRINT*,GRADE, &q
3、uot;GRADE=>B"END IFEND IFEND3 .三个数按从小到大排序。PROGRAM MAXMINREAL A,B,C,TREAD *,A,B,CIF (A.GT.B) THENT=AA=BB=TELSEEND IFIF (B.GT.C) THENT=BB=CC=TELSEEND IFIF (A.GT.B) THENT=AA=BB=TEND IFPRINT *,A,B,CEND4 .运用EISE IF语句。重做例子2PROGRAM ex2READ (*,*) GRADEIF (GRADE .GE. 80.0) THENPRINT *, GRADE, "=
4、>A"ELSE IF(GRADE .GE. 70.0) THENPRINT *, GRADE, "=>B"ELSE IF(GARDE .GE. 60.0) THENPRINT *, GRADE, "=>C"ELSEPRINT *, GARDE, "=>D"END IFEND3x 6,x 05 .计算y 2x 2x 8,x 0PROGRAM EQUATIONREAD (*,*) XIF (X .GE. 0.0) Y=3*X+6IF (X .LT. 0.0) Y=-X*2+2*X-8PRINT *, &q
5、uot;X=" ,X, "Y=" ,YEND6 .CONTINUE语句。为了使循环的起止范围清晰,使用终端语句例:求5!program ex1FACT=1do 10, N=1,5,1#DO 语句标号,循环不变量=初值,终值,步长FACT=FACT*N10 continueprint *,FACTend求 1 ! +2 ! +3 ! + +N -!READ *,NFACT=1sum=0.0do 10, I=1,N,1FACT=FACT*ISUM=SUM+FACT10 continueprint *,SUMend7.求 EAX=1+X+XA2/2!+X2/3!+XAN
6、/N!READ *,X,Nsum=1TERM=1do 10, I=1,N,1TERM=TERM*X/ISUM=SUM+TERM10 continueprint *,"EXP(" ,X,")" ,SUMend8.打印九九乘法表do 10,I=1,9,1do 20,J=1,IPRINT*,I,"*" ,J,"=" ,I*J20 CONTINUE10 CONTINUEend9.百钱买百鸡公鸡5元每只。母鸡3元每只,小鸡1元三只。求100元买一百只鸡。INTEGER X,Y,ZDO 10,X=0,100DO 20,Y=0,
7、100DO 30,Z=0,100IF(X+Y+Z .EQ. 100) THENIF(15*X+9*Y+Z .EQ. 300) PRINT *,X,Y,ZEND IF30CONTINUE20 CONTINUE10 CONTINUEEND10.DO循环用来处理循环次数确定的情况比较方便。在处理无法事先知道循环次数时,使用当型循环。(1)DO WHILEDO 标号,WHILE(逻辑表达式)循环体CONTINUE 标号例 统计若干同学的得分并计算平均值。INTEGER SCORE,COUNTREAD*,SCORESUM=0COUNT=0DO 10, WHILE (SCORE .GT. 0.0)SUM=
8、SUM+SCORECOUNT=COUNT+1READ *,SCORE10 CONTINUEAVER=SUM/COUNTPRINT *,AVEREND11 .辗转相除法求最大公约数。如26和6的最大公约数。先用27除以6 ,余数是3 ,再用6除以3 , 余数为0,则3就是最大公名数。命令 MOD()求余数。INTEGER M,N,R,TREAD*,M,NIF (M .LT. N) THENT=MM=NN=TEND IFR= MOD (M,N)DO 10, WHILE (R .NE. 0)M=NN=RR= MOD (M,N)10 CONTINUEPRINT *,"zui da gong
9、yue shu" ,NEND12.判断一个数是否是素数。SQRT ()开根号READ *,NMAX= sqrt (real (N)I=2DO 10, WHILE (I .LE. MAX .AND. MOD (N,I) .NE. 0)I=I+110 CONTINUEIF(I .GT. MAX) THENPRINT*,N, "IS A PRIME NUMBER"ELSEPRINT *,N, "IS NOT A PRIME NUMVER"END IFEND13.求100和200之间能被3或7整除的自然数。I=10010 IF(I .LE. 200)
10、THENIF (MOD (I,3) .EQ. 0 .OR. MOD (I,7) .EQ. 0) THENPRINT *,I, "ABLE"ELSEPRINT *,I, "UNABLE”END IFI=I+1GOTO 10END IFEND14.直到型循环,UNTIL语句实现直到型循环。格式 “ DO S1,UNTIL(条件)循环体标号 S1 CONTINUE例14用直到型循环求5!FORTRAN不支持UNTIL语句。INTEGER I,PRODUCTI=1PRODUCT=1DO 10, UNTIL (I .GT. 5)PRODUCT=PRODUCT*II=I+11
11、0 CONTINUEPRINT *,"5!=" 'PRODUCTENDFORTRAN不支持UNTIL语句。让我们改成 DO WHILE格式INTEGER I,PRODUCTI=1PRODUCT=1DO 10, WHILE (I .LT. 5)PRODUCT=PRODUCT*II=I+110 CONTINUEPRINT *,"5!=" 'PRODUCTEND-可编辑-15.心花矽 的雷木仙花数是瘠一土三位数.再各位我宇INTEGER R,I,J,S,T,SUMDO 10, I=100,999,1T=ISUM=0DO 20 ,J=1,3,1R
12、= MOD (T,10)SUM=SUM+R*3T=T/1020 CONTINUEIF (SUM .EQ. I) PRINT *,I,"is a daffodil NUMBER"10 CONTINUEEND2_15.求一元二次方程的根Ax Bx C 0变的类型嫉肺的喇INTttqntision, KJXO-. tLfitleiiREALCXIPI5rgf*海qm KINIXLggbleALOGICALLOGrCALieipiKEian. KilNDrvHnabie)DOUBLE PRECISION A, B, CCOMPLEX X1,X2READ *,A,B,CIF(B*2-
13、4*A*C .GE.0) THENX1= 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)ELSEX1= 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 IFPRINT *,X1,X2END16.打印此图像。CHARACTER *9 LINEDO 10, I=-4,4,1K=1DO 40 J=1, ABS(I),1LINE(K:K尸""K=
14、K+140 CONTINUEDO 20, J=1, 2*(4- ABS(I)+1,1LINE(K:K尸"*"K=K+120 CONTINUEPRINT*,LINEDO 30, J=1,9,1LINE(J:J)=""30CONTINUE10 CONTINUEEND射垠盘一牌的修怦可 同个戳蜴便需一用只弄同 一个甲的星,伸野用中所向窗的量吊际力玷娟元*.而程序中通过设纲语向克前敲/ 例知:INl EHlIt M L m榭十都在内有中占痼一中段立刻存I*病 例4ixn <iE k al. m* z. a5.十 这六f台即w代赛的尢个存V中无在.匕存中的位
15、道是诲跣物史,sTfflXn17.输出数组中的数值。INTEGER A(1:10)DO 10,I=1,10,1READ *,A(I)10 CONTINUEPRINT *,AEND18.利用DO循环对数组进行输入和输出。从键盘上输入十个数,按顺序逐个放入到A(1)到A(10)中。INTEGER A(1:10)DO 10,1=1,10,1READ *,A(I)10 CONTINUEDO 20,I=1,9,2PRINT *, "A(" ,I,")” ,A(I)20 CONTINUE END19 .双重循环将从终端读入的数据赋值给W数组中的各元素。REAL W(1:3,1
16、:2)#表示一个三行两列的数组,当前面数一样时,可以写出 W(3,2)DO 10,I=1,3,1DO 20, J=1,2,1READ *,W(I,J)20 CONTINUE10 CONTINUEPRINT *,WEND精品20。输入10名学生的成绩,统计各个分数段的人数。INTEGER GRADE(1:10),COUNTER(0:10)READ *,(GRADE(I),I=1,10,1)DO 10, I=1,10,1COUNTER(GRADE(I)/10)=COUNTER(GRADE(I)/10)+110 CONTINUEDO 20,1=0,10,1PRINT *,COUNTER,"=>",I*10,(I+1)*10-120 CONTINUEEND21 .顺序查找。一组数据从第一个开始找,折半查找,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 初中音乐与其他学科融合教学的有效策略和实践路径
- 拔尖创新人才培养新路径与行动计划
- 运营直播面试题及答案
- 三方分红合同协议书
- 鱼船出租合同协议书
- 区域合伙合同协议书
- 合同就业协议书怎么填
- 会议咨询服务合同协议书
- 合同协议书为何最优先
- 餐饮协议书合同
- 老年人误吸的预防团体标准试题
- 17小猴子下山 第一课时 公开课一等奖创新教学设计
- 厨房人员消防安全知识培训
- 2024年广东省中山市教学共进联盟中考一模数学试题(含答案)
- 聚合工艺作业安全培训课件
- 2024年山东省公共卫生临床中心招聘笔试冲刺题含答案解析
- 电厂凝结水系统.课件
- 乳腺癌中医护理查房
- 2024年司法考试真题及答案
- 天车检验报告
- 口腔护士进修总结汇报
评论
0/150
提交评论