您好,欢迎访问三七文档
习题详解31输人3个实数,输出最大值和最小值。programmainimplicitnonereal::a,b,c,max2,min1read(*,*)a,b,cmax2=max(a,b,c)min1=min(a,b,c)write(*,*)max2,min1stopend2.任意输入两个数,对它们进行加、减、乘、除、乘方运算,并将结果输出。programex2implicitnonereal::a,bread(*,*)a,bwrite(*,*)a+b=,a+bwrite(*,*)a-b=,a-bwrite(*,*)a*b=,a*bwrite(*,*)a/b=,a/bwrite(*,*)“a**b=”,a**bstopend3.已知:f(x)=x3+sin2x+ln(X4+1),输入自变量的值,求对应的函数值。programmainimplicitnonereal::f,xread(*,*)xf=x**3+(sin(x))**2+log(x**4+1)write(*,*)fstopend4.用FORTRAN语句完成下列操作:(1)将变量I的值增加l。(2)I的立方加上J.并将其结果保存到I中。(3)将E和F中大者存储到G中。(4)将两位自然数的个位和十位互换,得到一个新的数(不考虑个位为O的情况)。(拓展:输入一个三位整数,将它反向输出,如输入123,输出321)programmainimplicitnonereal::i,j,e,f,g,kinteger::a,b,x,y!----1---i=i+1!----2---write(*,*)inputj:read(*,*)ji=i**3+j!----3---write(*,*)inpute,fread(*,*)e,fg=max(e,f)!----4---write(*,*)inputa:read(*,*)aa=mod(a,10)*10+a/10write(*,*)a!----5--write(*,*)inputb:read(*,*)bx=mod(b,100)y=mod(b,10)b=y*100+int(x/10)*10+int(b/100)write(*,*)bstopend5.设c代表摄氏温度,F代表华氏温度,两者转换公式为:F=3259C编程完成摄氏温度向华氏温度的转换。并计算摄氏O度、l00度、-40度分别为华氏多少度。programmainimplicitnoneinteger::x=0,y=100,z=-40real::c,f!若c设为integer,则注意公式使用时转换成real!-----------c=xf=real(9*c/5)+32.0write(*,*)c=0,f=,f!-----------c=yf=real(9*c/5)+32.0write(*,*)c=100,f=,f!-----------c=zf=real(9*c/5)+32.0write(*,*)c=-40,f=,fstopend6.编程完成下列操作:(1)输入三个整数,求出其平均值。.(2)输人x和y的值,计算(3)球的半径为4.求其表面积和体积。programmainimplicitnoneinteger::a,b,creal,parameter::pi=3.1415926real::mean,x,y,z,s,v!--------write(*,*)inputa,b,c:read(*,*)a,b,cmean=real((a+b+c)/3.0)!写成3.0或者加个realwrite(*,*)mean!------------write(*,*)inputx,yread(*,*)x,yz=log(x**2+y)/(sin(x*y)**2+1)+32.0write(*,*)z!------------s=4*pi*4**2v=(4/3.0)*pi*4**3!4/3写成realwrite(*,*)s=,swrite(*,*)v=,vstopend已知222sinsinlnxxeyx,其中'1552tan1x,求y的值programmainimplicitnonereal,parameter::pi=3.1415926real::x,yx=sqrt(1+tan(52.25*pi/180.0))y=exp(pi*x/2.0)+log(abs(sin(x)**2-sin(x**2)))write(*,*)ystopend8.某厂某产品产量2000年为20万吨,求:(1)如果到2010年产品产量翻两番,年平均增长速度要达多少?(2)如果年平均增长速度为9%。几年后该产品产量翻两番?programmainimplicitnonereal::mean,xmean=(2**2)**0.1-1write(*,*)mean=,mean!------x=log(2.0**2)/log(1.09)write(*,*)xstopend9.输入四个数A、B、C、D,请按照由小到大顺序将这四个数排序后输出出来。programmainimplicitnonereal::a,b,c,d,xwrite(*,*)inputa,b,c,dread(*,*)a,b,c,d!---------------------------aistheminof4numbsif(ab)thenx=aa=bb=xendifif(ac)thenx=aa=cc=xendifif(ad)thenx=aa=dd=xendif!--------------------------bistheminof3numbsif(bc)thenx=bb=cc=xendifif(bd)thenx=bb=dd=xendif!--------------------------cistheminof2numbsif(cd)thenx=cc=dd=xendifwrite(*,*)a,b,c,dstopend10.加入所得税有三个等级,而且随年龄不同又有不同算法。第一类:年轻级(不满50岁)月收入在1000元以下的税率为3%,在1000元至5000元之间的税率为10%,在5000元以上的税率为15%。第二类:老年纪(50岁以上)月收入在1000元以下的税率为5%,在1000元至5000元之间的税率为7%,在5000元以上的税率为10%。请写一个程序来输入一位上班族的年龄、年收入、并计算他(她)所应缴纳的税金。programmainimplicitnoneintegerage,moneyrealtaxwrite(*,*)Pleaseinputtheageread(*,*)agewrite(*,*)Pleaseinputthesalaryread(*,*)moneyif(age50)thenif(money1000)thentax=0.03elseif(money5000)thentax=0.10elsetax=0.15endifelseif(money1000)thentax=0.05elseif(money5000)thentax=0.07elsetax=0.10endifendifwrite(*,('TheTAXis'I8))nint(money*tax)endprogram11.在一年当中,通常有365天。但如果是闰年,一年则有366天。在公历中,闰年的策略如下:•年数是4的倍数时,是闰年•年数是100的倍数时是例外,不当闰年记。除非它刚好又是400的倍数请写一个程序,如果用户输入一个公元的年份,然后交给程序来判断这一年当中会有多少天?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'天'))daysstopendprogram12.用IF语句编写下面功能程序:(1)读入a,b,若ab,则置X=1.23,否则置X=32.1,打印X值;(2)读入a,b,c,d,若a+bc+d,则X=1.1,若a+b=c+d,则X=0.0,若a+bc+d,则X=-1.1,输出X值;(3)读入S与S1,如|S-S1|≤10-7,则置S为S1。programmainimplicitnonereal::a,b,c,d,x,s,s1!-----------------write(*,*)inputa,b:read(*,*)a,bif(ab)thenx=1.23elsex=32.1endifwrite(*,*)x!--------------write(*,*)inputa,b,c,d:read(*,*)a,b,c,dif(a+bc+d)thenx=1.1elseif(a+b==c+d)thenx=0.0elseif(a+bc+d)thenx=-1.1endifwrite(*,*)x!------------write(*,*)inputs,s1:read(*,*)s,s1if(abs(s-s1)=10**(-7))s=s1write(*,*)sstopend13.用IF构造嵌套方法编程:读入X,分三种情况求得Z值,当X0时,Z=-100;当X=0时,又分三种情况(y0,则Z=sinX;y=0,则Z=0;y0,则Z=cosX);当X0时,Z=100,打印Z值。programmainimplicitnonereal::x,y,zwrite(*,*)inputx,y:read(*,*)x,yif(x0.0)thenz=-100.0elseif(x0.0)thenz=100.0elseif(x==0.0)thenif(y0.0)thenz=sin(x)elseif(y==0.0)thenz=0.0elseif(y0.0)thenz=cos(x)endifendifwrite(*,*)zstopend14.读入一个整型变量N的值,用CASE构造编程,若N=1、2、3、5,则Y=X;N=4、8,则Y=X2;N=6、7,则Y=X3,其它情况则Y=0,打印Y值。14.programmainimplicitnoneintegerx,ywrite(*,*)inputx:read(*,*)xselectcase(x)case(1,2,3,5)y=xcase(4,8)y=x**2case(6,7)y=x**3casedefaulty=0endselectwrite(*,*)ystopend15.输入一个数M,判断能否被7,11,17整除,如能被以上三个数之一整除,则打印出“M能被7(或11,17)整除”,如不能被以上三个数整除,则打印出“M不能被1,11,17整除”programmainimplicitnoneintegermwrite(*,*)输入m:read(*,*)mif(mod(m,7)/=0.and.mod(m,11)/=0.and.mod(m,17)/=0)thenwrite(*,*)m不能被7,11,17整除elsewrite(*,*)m能被7(或11,17)整除endifstopend16.有四个原,圆心分别为(2,2)(-2,2)(2,-2)(-2,-2),圆半径为1,坐标在圆上或者园内的点,相应的H值为10,园外的点,响应的H值为零。输入一个坐标点(X,Y),求相应的H。programmainimplicitnoneinteger::hreal::x,y,a,b,c,dwrite(*,*)inputx,y:read(*,*)x,ya=(x-2)**2b=(x+2)**2c=(y-2)**
本文标题:习题详解3
链接地址:https://www.777doc.com/doc-2734012 .html