fortran作业(3)

2019-04-10 09:36

write(*,200) m

100 format(1x,'i=',i3,5x,'x1='f15.7)

200 format(1x,'computation has not converged after',i4,'iteration') End

5.二分法: read*,x1,x2 f1=(x1)**2-4.0*x+1.0 f2=(x2)**2-4.0*x+1.0 10 x=(x1+x2)/2.0 f=x**2-4.0*x+1.0 if(sign(f,f1).eq.f) then x1=x f1=f else x2=x f2=f end if if((abs(x1-x2).gt.1e-05).and.abs(f).gt.1e-06) then goto 10 else if(abs(f).gt.1e-06) then x=(x1+x2)/2.0 end if write(*,100) x

100 format(1x,'x=',f15.7) end

弦截法: 10 read*,x1,x2 f1=(x1)**2-4.0*x1+1.0 f2=(x2)**2-4.0*x2+1.0 if(sign(f1,f2).eq.f1) goto 10 f=1.0

20 if((abs(x1-x2).gt.1e-05).and.(abs(f).gt.1e-06)) then x=x2-(x2-x1)/(f2-f1)*f2 f=x*x-4.0*x+1.0

if(sign(f,f1).eq.f) then

x1=x f1=f else x2=x f2=f end if goto 20 end if if(abs(f).gt.1e-06) then x=(x1+x2)/2.0 end if write(*,100) x

100 format(1x,'x=',f15.7) end

一、逆序编程

! 逆序输出 real temp integer m(20) read(*,100)(m(i),i=1,20) 100 format(5i3) do 10,i=1,10 temp=m(i) m(i)=m(21-i) m(21-i)=temp 10 continue

write(*,200) m 200 format(1x,10i4) End

第九章

二、三种方法打印方阵

(1)

parameter(n=5) integer m(n) data m/1,2,8,2,10/ write(*,100)m(1),m(2),m(3),m(4),m(5) write(*,100)m(2),m(3),m(4),m(5),m(1) write(*,100)m(3),m(4),m(5),m(1),m(2) write(*,100)m(4),m(5),m(1),m(2),m(3) write(*,100)m(5),m(1),m(2),m(3),m(4) 100 format(1x,5i6) End

(2)

integer m(0:5) data m/10,1,2,8,2,10/ do 10,j=1,5 write(*,100)(m(mod(i,5)),i=j,j+4) 10 continue

100 format(1x,5i6) End

(3)

integer m(5,5) do 10,i=1,5 do 20,j=1,5 if(mod(i+j,5).eq.2)m(i,j)=1 if(mod(i+j,5).eq.3)m(i,j)=2 if(mod(i+j,5).eq.4)m(i,j)=8 if(mod(i+j,5).eq.0)m(i,j)=2 if(mod(i+j,5).eq.1)m(i,j)=10 20 continue 10 continue write(*,100)((m(i,j),j=1,5),i=1,5) 100 format(1x,5i6)

End

三、统计成绩

parameter(n=20) integer m(6) data m/6*0/ do 10,i=1,20 read(*,*)g if(g.lt.60) then m(1)=m(1)+1 elseif(g.lt.70) then m(2)=m(2)+1 elseif(g.lt.80) then m(3)=m(3)+1 elseif(g.lt.90) then m(4)=m(4)+1 elseif(g.lt.100) then m(5)=m(5)+1

elseif(g.eq.100) then m(6)=m(6)+1 end if 10 continue write(*,*)\各分数段人数:60下,60-70,70-80,80-90,90-100,100\ write(*,100)m 100 format(1x,6i5) End

四、顺序查找

integer m(20),n logical f f=.false. data m/11,12,13,14,15,16,17,18,19,20,51,52,53,54,55,56,57,58,59,60/ i=1 read(*,*)n do 100,while(i.le.20.and..not.f) if(m(i).eq.n) then f=.true. else i=i+1 end if 100 continue

if(f) write(*,*)'找到',n,'位置',i if(.not.f) write(*,*)'未找到' end


fortran作业(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:杂文

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: