- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Fortran作业、期末复习、西南交大
编写两个子程序,分别求两个整数的最大公约数和最小公倍数,并编写主程序调用这两个子程序,输出结果program xinteger m,n,swrite(*,*)请输入两个数:read(*,*)m,ns=m*ncallacb(n,m)callasd(n,m,s)endsubroutineacb(n,m)integer tempif(mn)thentemp=m;m=n;n=tempend ifdo while(mod(m,n)/=0)temp=n;n=mod(m,n);m=tempend dowrite(*,(最大公约数为:i4)) nreturnendsubroutineasd(n,m,s)if(mn)thentemp=m;m=n;n=tempend ifdo while(mod(m,n)/=0)temp=n;n=mod(m,n);m=tempend dowrite(*,(最小公倍数为:i4)) s/nreturnend编写一个递归子程序,求Fibonacci数列某项的值。并编写主程序调用该递归子程序,输出结果。program xintegern,tempwrite(*,*)输入Fibonacci数列某项数,n大于三read(*,*)ncallabc(n)endsubroutineabc(n)integeri,j,temp,a(n)a(1)=1a(2)=1do i=3,na(i)=a(i-1)+a(i-2)end dotemp=a(n)write(*,(Fibonacci数列n项的值为:,i8))tempreturnend1:输入10名学生的学号和一门课程的考试成绩,分别存入顺序文件和直接文件中。每名学生的数据占一个记录。分别对顺序文件和直接文件进行以下各项操作:(1)从数据文件中读入数据,然后按学生的成绩优劣放在文件中,每个记录包含一名学生的数据。(2)把文件中超过平均分的学生学号和记录输出出来。program xinteger a(10),b(10) ,i,j,tempA,tempB,sumwrite(*,*)请输入10个同学的学号和分数read(*,*)(a(i),b(i),i=1,10)sum=0do i=1,9do j=i+1,10if(b(i)b(j))thentempA=a(i)tempB=b(i)b(i)=b(j)a(i)=a(j)b(j)=tempBa(j)=tempAend ifend doend dodo i=1,10sum=a(i)+sumend doopen(unit=2,file=C:\Users\Administrator\Desktop\f2.txt,status=new, access=sequential,form=formatted)write(2,*)按学生的成绩优劣排名write(2,(2i5))(a(i),b(i),i=1,10)close(2)write(*,*)超出平均分的有do i=1,10if(b(i)(sum/10))thenwrite(*,*)a(i),b(i)end ifend doend编程建立一个链表,每个节点的值为2,4,6,......,20,在第i个节点后插入一个节点,该节点的值为i+1。然后删除第j个节点。Program xIntegerI,j,n,m,p,a(11)Doi=1,10A(i)=i*2End dom=10Write(*,*)请输入需要删除的节点位置iRead(*,*)nDo I=1,m-1If(n==i)thenm=m+1do j=m-1,n,-1A(j+1)=a(j)end doA(i)=i+1a(m)=a(m-1)+2end ifEnd dowrite(*,*)插入节点后的数列为write(*,*)(a(i),i=1,m)write(*,*)请输入删除的节点位置jRead(*,*)pDo I=1,mIf(p==i)thendo j=i,m-1A(j)=a(j+1)end dom=m-1end ifEnd dowrite(*,*)删除后的数列为write(*,*)(a(i),i=1,m)end游泳池栏杆造价,和走廊地板造价module ABCpublicD,T,m,xpublic S1,A1containssubroutine S1(d,t,x)integer L1,L2,LL1=3.14*d*xL2=3.14*t*xl=L1+L2write(*,*)围栏总造价为,Lreturnend subroutinesubroutine A1(d,t,m)integer AA=((3.14)/4)*((d**2)-(t**2))*mwrite(*,*)地板总造价为,Areturnend subroutinesubroutinesum(d,t,m,x)in
文档评论(0)