1.输入整数,判断能否被3或5整除,如能整除,则打印,否则不打印。
编写程序实现之。
解答:
!判断可以被3或5整除的整数
PROGRAM exam61
INTEGER :: n
PRINT*, '请输入一个整数:'
READ*, n
IF(mod(n,15)==0) THEN
WRITE(*, "(1X,I5,'是一个可以被3和5整除的整数')") n
ELSE IF(mod(n,3)==0) THEN
WRITE(*, "(1X,I5,'是一个可以被3整除的整数')") n
ELSE IF(mod(n,5)==0) THEN
WRITE(*, "(1X,I5,'是一个可以被5整除的整数')") n
ENDIF
END
2.计算职工工资,工人每周工作40小时,超过40小时的部分应该按加班工资计算(为正常工资的2倍。
输入工作时间和单位报酬,计算出该职工应得的工资,并打印输出。
编写程序实现之。
解答:
!计算职工工资
PROGRAM exam62
INTEGER t,p,pt
PRINT*, '请输入工人工作的时间t和单位报酬pt'
READ*, t,pt
IF(t>40)then
p=40*pt+(t-40)*2*pt
ELSE
p=t*pt
ENDIF
PRINT*, '该工人本周的应得工资为:',p,'元'
END
1.已知:x=0︒、10︒、20︒、…、180︒,输出x、sin(x)、cos(x)、tg(x)的值。
编写程序实现之。
解答:
! 输出x、xin(x)、cos(x)、tan(x)的值
PROGRAM exam71
PARAMETER(pi=3.1415926)
INTEGER i
REAL :: x,sinx,cosx,tanx
PRINT *,' x sin(x) cos(x) tg(x)'
DO i=0,180,10
x=i/180.0*pi
sinx=sin(x)
cosx=cos(x)
tanx=tan(x)
PRINT '(I3,3(2X,F10.7))',i,sinx,cosx,tanx
END DO
END
2.已知:x=1.0、1.1、1.2、…、2.9,输出x、x2、ex、ln(x)的值。
编写程序实现之。
解答:
! 计算x、x平方、e的x次方、ln(x)的值
PROGRAM exam72
INTEGER i
REAL :: x,x2,ex,lnx
PRINT*,' x x**2 exp(x) ln(x) '
DO i=10,29
x=i/10.0
x2=x*x
expx=exp(x)
lnx=log(x)
PRINT '(F3.1,2X,F4.2,2X,F10.5,2X,F10.5)',x,x2,expx,lnx
END DO
END
3.输入10个整数,计算它们的和、积、平方和、和的平方。
编写程序实现之。
解答:
! 计算和,积,平方和,和的平方
PROGRAM exam73
INTEGER i
REAL :: s1=0.0,s2=1.0,s3=0.0,s4=0.0
PRINT*,'请输入十个实数(每行一个)'
DO i=1,10
READ*,a
s1=s1+a
s2=s2*a
s3=s3+a**2
END DO
s4=s1**2
PRINT*,'10个数之和',s1
PRINT*,'10个数之积',s2
PRINT*,'10个数平方和',s3
PRINT*,'10个数和的平方',s4
END
4.输入20个数,统计其中正数、零、负数的个数。
编写程序实现之。
解答:
!统计其中正数、负数和零的个数
PROGRAM exam74
INTEGER :: i,s1=0,s2=0,s3=0
REAL a
PRINT*,'请输入二十个数(每行一个):'
DO i=1,20
READ*,a
IF (a>0) s1=s1+1
IF (a==0) s2=s2+1
IF (a<0) s3=s3+1
END DO
PRINT*,'正数个数',s1
PRINT*,'0的个数',s2
PRINT*,'负数个数',s3
END。