资源描述:
《Fortran作业期末复习西南交大.docx》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、编写两个子程序,分别求两个整数的最大公约数和最小公倍数,并编写主程序调用这两个子程序,输出结果programxintegerm,n,swrite(*,*)"请输入两个数:"read(*,*)m,ns=m*ncallacb(n,m)callasd(n,m,s)endsubroutineacb(n,m)integertempif(m2、easd(n,m,s)if(m3、(n)a(1)=1a(2)=1doi=3,na(i)=a(i-1)+a(i-2)enddotemp=a(n)write(*,"('Fibonacci数列n项的值为:',i8)")tempreturnend1:输入10名学生的学号和一门课程的考试成绩,分别存入顺序文件和直接文件中。每名学生的数据占一个记录。分别对顺序文件和直接文件进行以下各项操作:(1)从数据文件中读入数据,然后按学生的成绩优劣放在文件中,每个记录包含一名学生的数据。(2)把文件中超过平均分的学生学号和记录输出出来。programxintegera(10),b(10),i,j,tempA,tempB,
4、sumwrite(*,*)"请输入10个同学的学号和分数"read(*,*)(a(i),b(i),i=1,10)sum=0doi=1,9doj=i+1,10if(b(i)
5、m='formatted')write(2,*)"按学生的成绩优劣排名"write(2,"(2i5)")(a(i),b(i),i=1,10)close(2)write(*,*)"超出平均分的有"doi=1,10if(b(i)>(sum/10))thenwrite(*,*)a(i),b(i)endifenddoend编程建立一个链表,每个节点的值为2,4,6,......,20,在第i个节点后插入一个节点,该节点的值为i+1。然后删除第j个节点。ProgramxIntegerI,j,n,m,p,a(11)Doi=1,10A(i)=i*2Enddom=10Write(*
6、,*)"请输入需要删除的节点位置i"Read(*,*)nDoI=1,m-1If(n==i)thenm=m+1doj=m-1,n,-1A(j+1)=a(j)enddoA(i)=i+1a(m)=a(m-1)+2endifEnddowrite(*,*)"插入节点后的数列为"write(*,*)(a(i),i=1,m)write(*,*)"请输入删除的节点位置j"Read(*,*)pDoI=1,mIf(p==i)thendoj=i,m-1A(j)=a(j+1)enddom=m-1endifEnddowrite(*,*)"删除后的数列为"write(*,*)(a(i),i=1
7、,m)end游泳池栏杆造价,和走廊地板造价moduleABCpublicD,T,m,xpublicS1,A1containssubroutineS1(d,t,x)integerL1,L2,LL1=3.14*d*xL2=3.14*t*xl=L1+L2write(*,*)"围栏总造价为",LreturnendsubroutinesubroutineA1(d,t,m)integerAA=((3.14)/4)*((d**2)-(t**2))*mwrite(*,*)"地板总造价为",Areturnendsubroutinesubroutinesum(d,t,m,x)int