您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 薪酬管理 > Fortran95习题答案
第四章1.programmainimplicitnonewrite(*,*)Haveagoodtime.write(*,*)That'snotbad.write(*,*)'Maryisn''tmyname.'endprogram2.programmainreal,parameter::PI=3implicitnone.14159realradiuswrite(*,*)请输入半径长read(*,*)radiuswrite(*,('面积='f8.3))radius*radius*PIendprogram3.programmainimplicitnonerealgradeswrite(*,*)请输入成绩read(*,*)gradeswrite(*,('调整后成绩为'f8.3))SQRT(grades)*10.0endprogram4.integera,brealra,rba=2b=3ra=2.0rb=3.0write(*,*)b/a!输出1,因为使用整数计算,小数部分会无条件舍去write(*,*)rb/ra!输出1.55.programmainimplicitnonetypedistancerealmeter,inch,cmendtypetype(distance)::dwrite(*,*)请输入长度:read(*,*)d%meterd%cm=d%meter*100d%inch=d%cm/2.54write(*,(f8.3'米='f8.3'厘米='f8.3'英寸'))d%meter,d%cm,d%inchendprogram第五章1.programmainimplicitnoneintegermoneyrealtaxwrite(*,*)请输入月收入read(*,*)moneyif(money1000)thentax=0.03elseif(money5000)thentax=0.1elsetax=0.15endifwrite(*,('税金为'I8))nint(money*tax)endprogram2.programmainimplicitnoneintegerdaycharacter(len=20)::tvwrite(*,*)请输入星期几read(*,*)dayselectcase(day)case(1,4)tv=新闻case(2,5)tv=电视剧case(3,6)tv=卡通case(7)tv=电影casedefaultwrite(*,*)错误的输入stopendselectwrite(*,*)tvendprogram3.programmainimplicitnoneintegerage,moneyrealtaxwrite(*,*)请输入年龄read(*,*)agewrite(*,*)请输入月收入read(*,*)moneyif(age50)thenif(money1000)thentax=0.03elseif(money5000)thentax=0.10elsetax=0.15endifelseif(money1000)thentax=0.5elseif(money5000)thentax=0.7elsetax=0.10endifendifwrite(*,('税金为'I8))nint(money*tax)endprogram4.programmainimplicitnoneintegeryear,dayslogicalmod_4,mod_100,mod_400write(*,*)请输入年份read(*,*)yearmod_4=(MOD(year,4)==0)mod_100=(MOD(year,100)==0)mod_400=(MOD(year,400)==0)if((mod_4.NEQV.mod_100).or.mod_400)thendays=366elsedays=365endifwrite(*,('这一年有'I3'天'))daysstopendprogram第六章1.programmainimplicitnoneintegeridoi=1,5write(*,*)Fortranenddostopendprogram2.programmainimplicitnoneintegeri,sumsum=0doi=1,99,2sum=sum+ienddowrite(*,*)sumstopendprogram3.programmainimplicitnoneinteger,parameter::answer=45integer,parameter::max=5integerweight,idoi=1,maxwrite(*,*)请输入体重read(*,*)weightif(weight==answer)exitenddoif(i=max)thenwrite(*,*)猜对了elsewrite(*,*)猜错了endifstopendprogram4.programmainimplicitnoneinteger,parameter::max=10integerirealitemrealansans=1.0item=1.0doi=2,maxitem=item/real(i)ans=ans+itemenddowrite(*,*)ansstopendprogram5.programmainimplicitnoneinteger,parameter::length=79character(len=length)::input,outputintegeri,jwrite(*,*)请输入一个字串read(*,(A79))inputj=1doi=1,len_trim(input)if(input(i:i)/='')thenoutput(j:j)=input(i:i)j=j+1endifenddowrite(*,(A79))outputstopendprogram第七章1.programmainimplicitnoneinteger,parameter::max=10integeriinteger::a(max)=(/(2*i,i=1,10)/)integer::t!sum()是fortran库函数write(*,*)real(sum(a))/real(max)stopendprogram2.integera(5,5)!5*5=25integerb(2,3,4)!2*3*4=24integerc(3,4,5,6)!3*4*5*6=360integerd(-5:5)!11integere(-3:3,-3:3)!7*7=493.programmainimplicitnoneinteger,parameter::max=10integerf(max)integerif(1)=0f(2)=1doi=3,maxf(i)=f(i-1)+f(i-2)enddowrite(*,(10I4))fstopendprogram4.programmainimplicitnoneinteger,parameter::size=10integer::a(size)=(/5,3,6,4,8,7,1,9,2,10/)integer::i,jinteger::tdoi=1,size-1doj=i+1,sizeif(a(i)a(j))then!a(i)跟a(j)交换t=a(i)a(i)=a(j)a(j)=tendifenddoenddowrite(*,(10I4))astopend5.a(2,2)!1+(2-1)+(2-1)*(5)=7a(3,3)!1+(3-1)+(3-1)*(5)=13第八章1.programmainimplicitnonerealradius,areawrite(*,*)请输入半径长read(*,*)radiuscallCircleArea(radius,area)write(*,('面积='F8.3))areastopendprogramsubroutineCircleArea(radius,area)implicitnonereal,parameter::PI=3.14159realradius,areaarea=radius*radius*PIreturnendsubroutine2.programmainimplicitnonerealradiusreal,external::CircleAreawrite(*,*)请输入半径长read(*,*)radiuswrite(*,('面积='F8.3))CircleArea(radius)stopendprogramrealfunctionCircleArea(radius)implicitnonereal,parameter::PI=3.14159realradiusCircleArea=radius*radius*PIreturnendfunction3.programmainimplicitnonecallbar(3)callbar(10)stopendprogramsubroutinebar(length)implicitnoneinteger,intent(in)::lengthintegericharacter(len=79)::stringstring=doi=1,lengthstring(i:i)='*'enddowrite(*,(A79))stringreturnendsubroutine4.programmainimplicitnoneinteger,external::addwrite(*,*)add(100)endprogramrecursiveintegerfunctionadd(n)result(sum)implicitnoneinteger,intent(in)::nif(n0)thensum=0returnelseif(n=1)thensum=nreturnendifsum=n+add(n-1)returnendfunction5.programmainimplicitnoneinteger,external::gcdwrite(*,*)gcd(18,12)endprogramintegerfunctiongcd(A,B)implicitnoneintegerA,B,BIG,SMALL,TEMPBIG=max(A,B)SMALL=min(A,B)dowhile(SMALL/=1)TEMP=mod(BIG,SMALL)if(TEMP==0)exitBIG=SMALLSMALL=TEMPenddogcd=SMALLreturnendfunction6.programmainuseTextGraphLibimplicitnoneinteger,parameter::maxx=60,maxy=20real,parameter::StartX=0.0,EndX=3.14159*2.0real,parameter::xinc=(EndX-StartX)/(maxx-1)realxintegeri,px,pycallSetScreen(60,20)callSetCurrentChar('*')x=StartXdopx=1,maxxpy=(maxy/2)*sin(x)+maxy/2+1callPutChar(px,py)x=x+xincenddocallUpdateScreen()stopendprogram第九章1.programmainimplicitnonecharacter(len=79)::filenamecharacter(len=79)::bufferinteger,parameter::fileid=10integercountinteger::status=0logicalalivewrite(*,*)Filename:read(*,(A79))filenameinquire(file=filename,exist=alive)if(alive)th
本文标题:Fortran95习题答案
链接地址:https://www.777doc.com/doc-5272315 .html