资源描述:
《西安交通大学fortran习题.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、1二维数组的输入与输出programmainimplicitnoneintegeri,jintegerA(2,2)!若为data((A(j,i),i=1,2),j=1,2)/1,2,3,4/print*,Aend!结果为1324实际为A(1,1)=1A(1,2)=2A(2,1)=3A(2,2)=4!若为data((A(i,j),i=1,2),j=1,2)/1,2,3,4/print*,Aend!结果为1234实际为A(1,1)=1A(2,1)=2A(1,2)=3A(2,2)=4programmainimplicitnoneintegeri,jintegerA(
2、2,2)data((A(i,j),i=1,2),j=1,2)/1,2,3,4/write(*,"(I3,I3)")Aend!结果为1234翻卡片!用数组编写下面的题目:假定有一叠卡片,卡片号为1到52,并且所有卡片的正面朝上。从卡片号2开始,把凡是偶数的卡片都翻成正面朝下。再从3号卡片开始,把凡是卡片号为3的倍数的卡片都翻一个面(即把正面朝上的翻成正面朝下,正面朝下的翻成正面朝上)。下一步从4号卡片开始,把凡是卡片号为4的倍数的卡片都翻一个面,依次类推,直到从52号卡片开始,把凡是卡号为52的倍数的卡片翻一个面。写出一个程序,来测定全过程完成后,哪些卡片的面朝
3、上,共有几张。答案:正面朝上的卡片是第1、4、9、16、25、36、49张,共7张。programmainimplicitnoneintegers(52)integeri,js=0doi=2,52j=idowhile(j<=52)s(j)=s(j)+1j=j+ienddoenddodoi=1,52if(mod(s(i),2)==0)thenwrite(*,*)iendifenddoendprogrammain//用C语言写#includeintmain(){ints[52];inti,j;for(i=0;i<52;i++)s[i]=0;for
4、(i=1;i<=51;i++){for(j=i;j<=51;j+=i+1)//也可以写作j=j+i+1,不能写作j==j+i+1{s[j]=s[j]+1;}}斐波拉契!使用递归时result()不能与函数名相同PROGRAMMAINIMPLICITNONEINTEGERn,i,sumread*,nif(n<0)THENPRINT*,"出错"ENDIFwrite(*,*)'f(n)=',f(n)doi=1,nsum=sum+f(n)enddowrite(*,*)'sum=',sumcontainsrecursivefunctionf(n)result(g)int
5、egerg,nif(n==0)theng=0elseif(n==1.or.n==2)theng=1elseg=f(n-1)+f(n-2)endifendfunctionEndprogram分解质因数!分解质因数programmainimplicitnoneintegera,c,i,bprint*,"请输入一个大于二的整数"read*,aprint*,'则它的所有质因子为'dowhile(a/=1)i=1b=1dowhile(b/=0)i=i+1b=mod(a,i)c=ienddoa=a/cprint*,cenddoendprogram哥德巴赫猜想!屏幕上不能显
6、示500行,所以不能将结果完全显示,需要将结果输入文件FUNCTIONf(i)IMPLICITNONEINTEGERi,f,hf=0if(i>1)thendoh=2,i-1if(mod(i,h)==0)thenf=f+1endifenddoendifendfunctionprogrammainimplicitnoneinteger(4)i,j,n,fintegersdon=4,600,2s=0j=0doi=1,n/2-1j=n-iif(f(i)==0.and.f(j)==0)thens=s+1endifenddoif(s==0)thenprint*,n,'不满
7、足猜想'elseprint*,n,sendifenddoendprogram黄金值法解方程!将中值法中取中点的值改为取黄金点的值,理论上可以提高效率modulegolden_sectionimplicitnonereala,b,ccontainssubroutinesub1(a,b,c)reala,b,c,ycc=(a*0.618+b)/1.618yc=f(c)dowhile(abs(yc)>0.00001)if(yc*f(a)<0)thenb=celsea=cendifc=(a*0.618+b)/1.618yc=f(c)enddoendsubroutinef
8、unctionf(x)realf,xf