1、 Integer ,intent(in):n Integer,intent(out):fac_result Integer:I Fac_result=1 Do I=1,nFac_result=fac_result*I End doEnd function factorProgram example_2 Integer :factor,s=0,I Do I=4,8 S=s+factor(i)Print*,sEnd program example_2例3、输入一个数,判断他是否能被3整除,并输出相应的信息。Program judge n,m Read*,n M=mod(n,3) Select ca
2、se(m) IF (M= =0) THEN Case (0) Print*,yes Print*,YES Case default ELSE Print*,no Print*,NO End select END IF End program judge 例4、判断一个整数N是否为素数PROGRAM primen,I,m M= sqrt(real(n) Do I=2,mIf(mod(n,i)= =0) exit If (Im) thenPrint*,yes ElsePrint*,no end ifend program prime例5、求N的阶乘PROGRAM example_5Integer:
3、n,I=0,fac=1Read*,nDo while (I7) I=I+1 Fac=fac*IEnd program example_5例6、求出全部的水仙花数。(水仙花数是个三位数,其各位数字的立方和等于该数。)program example_6 implicit none integer :I,j,k,m,n ii: do I=1,9 jj: do j=1,9 kk: do k=1,9 m=I*100+j*10+k n=I*3+j*3+k*3 if (m= =n) print*,m end do kk end do jj end do iiend program exaple_6例7、牛顿
4、迭代法求方程X*4+4*X+1=0的根program example_7I=1,mreal:x0,x,eread*,x0,e,m (m控制迭代次数)do x=(-x0*x0-1)/4 if (abs(x-x0)=m) then Print*,not Exit End if If (I max_result) max_result=b if (c max_result) max_result=c end function max3program example_11 use Exam_module real :aver3,max3 read*,a,b,c print*,aver3(),max3(
5、)end program example_11注意:(1)USE 模块名,ONLY :实体名例: use exam_module,only:a,b,此时C不再是共享变量,故C仍需通过虚实结合。 (2)use exam_module ,x-a 将模块中A与程序单元中变量X共享。例12、递归recursive function fac(n) result(fac_result) If (n= =0) thenFac_result=1 Fac_result=fac(n-1)*nEnd function facProgram example_12 Interface Recursive functio
6、n fac(n) result(fac_result)End interfacePrint*,fac(n)End program example_12例13、编一函数,求两数之和a)用外部过程实现program example_131a,b,sum read*,a,b call add(a,b,sum) print*,sumend program example_131subroutine add(a,b,sum)sumsum=a+bend subroutine addb)用内部过程实现program exampl_132 call add contains subroutine add end subroutine add end program example_132
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1