厦门理工吴荣彬fortran 77作业.docx

上传人:b****5 文档编号:27746935 上传时间:2023-07-04 格式:DOCX 页数:12 大小:478.30KB
下载 相关 举报
厦门理工吴荣彬fortran 77作业.docx_第1页
第1页 / 共12页
厦门理工吴荣彬fortran 77作业.docx_第2页
第2页 / 共12页
厦门理工吴荣彬fortran 77作业.docx_第3页
第3页 / 共12页
厦门理工吴荣彬fortran 77作业.docx_第4页
第4页 / 共12页
厦门理工吴荣彬fortran 77作业.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

厦门理工吴荣彬fortran 77作业.docx

《厦门理工吴荣彬fortran 77作业.docx》由会员分享,可在线阅读,更多相关《厦门理工吴荣彬fortran 77作业.docx(12页珍藏版)》请在冰豆网上搜索。

厦门理工吴荣彬fortran 77作业.docx

厦门理工吴荣彬fortran77作业

8、找出100~999之间的所有“水仙花数”。

所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身,例如,153=1*1*1+3*3*3+5*5*5,故153是水仙花数。

解:

编程如下:

DO100I=1,8,1

DO200J=0,9,1

DO300K=0,9,1

A=100*I+10*J+K

B=I**3+J**3+K**3

IF(A.EQ.B)THEN

PRINT*,’A=’,A

ELSE

ENDIF

300CONTINUE

200CONTINUE

100CONTINUE

END

十六、用WHILE语句;用块IF语句和GOTO语句,写程序,求

解:

编程如下:

用WHILE语句:

N=1

I=1

W=0

DO10WHILE(I.LE.10)

N=N*I

I=I+1

W=W+N

10CONTINUE

PRINT*,'W=',W

END

用块IF语句和GOTO语句:

N=1

I=1

W=0

10IF(I.LE.10)THEN

N=N*I

I=I+1

W=W+N

GOTO10

ENDIF

PRINT*,'W=',W

END

18、将{例5.12}改用直到型循环编写程序。

解:

编程如下:

READ*,N

J=SQRT(REAL(N))

I=2

DO10UNTIL(I.GT.J).OR.(MOD(N,I).EQ.0)

I=I+1

10CONTINUE

IF(I.GT.J)THEN

PRINT*,'N,ISAPRIMENUMBER.'

ELSE

PRINT*,N,'ISNOTAPRIMENUMBER.'

ENDIF

END

 

4、有一三角形,顶点为X、Y、Z,其坐标分别为(1.5,2.0),(4.5,4.5),(18.0,10.5)。

求三角形面积和三角形重心。

(提示:

重心坐标=(X+Y+Z)/3.0)

编程如下:

COMPLEXX,Y,Z,BARYCENTRE

X=(1.5,2.0)

Y=(4.5,4.5)

Z=(18.0,10.5)

A=ABS(X-Y)

B=ABS(X-Z)

C=ABS(Y-Z)

S=(A+B+C)/2.0

AREA=SQRT(S*(S-A)*(S-B)*(S-C))

BARYCENTRE=(X+Y+Z)/3.0

PRINT*,'A=',A,'B=',B,'C=',C

PRINT*,'AREA=',AREA,'BARYCENTRE=',BARYCENTRE

END

1、写出用下面的编辑符输出整数的结果。

编程如下:

INTEGERA,B,C,D,E,F,G,H

A=12

B=-123

C=8750

D=-10

E=20

F=154

G=128

H=17612

WRITE(*,100)A,B,C,D,E,F,G,H

100FORMAT(1X,2I3,3X,2I4,3X,I7,3X,I4.3,3X,I7.2,3X,I9.4)

END

变量值

12

-123

8750

20

-10

154

128

17612

编辑符

I3

I3

I4

I7

I4

I4.3

I7.2

I9.4

打印结果

︹12

***

8750

︹︹︹︹︹20

︹-10

︹154

128

17612

2、写出用下面输出实数的结果。

编程如下:

A=12.67

B=-137.5

C=1875.837

D=-8756.7345

E=1234.567

F=0.01814

G=-1.56E+2

H=16.785

WRITE(*,100,200)A,B,C,D,E,F,G,H

100FORMAT(1X,F7.2,3X,F10.2,3X,F8.2,3X,F6.1,3X,F7.4,3X,E12.4,3X,E15.6,3X,E18.6E3)

200FORMAT(1X,G10.4,3X,G12.5,3X,G12.5,3X,G14.7,3X,G11.6,3X,G9.4,3X,G9.4,3X,G11.4)

END

变量值

12.67

-137.5

1875.837

-8756.7345

1234.567

0.01814

-1.56X

16.785

编辑符

F7.2

F10.2

F8.2

F6.1

F7.4

E12.4

E15.6

E18.6E3

打印结果

︹︹12.67

︹︹︹-137.50

︹1875.84

******

*******

︹︹︹.1814E-01

︹︹︹-.156000E+03

︹︹︹︹︹︹.167850E+002

编辑符

G10.4

G12.5

G12.5

G14.7

G11.6

G9.4

G9.4

G11.4

打印结果

12.67

-137.50

1875.8

-8756.734

1234.57

.1814E-01

*********

16.78

1、用梯形法求:

区间数分别为n=10,100,1000,5000.

编程如下:

READ(*,*)A,B,N

X=A

H=(B-A)/N

S=0.0

DO10,I=1,N

SI=(1+EXP((I-1)*H)+1+EXP(I*H))*H/2.0

S=S+SI

10CONTINUE

WRITE(*,100)A,B,N

WRITE(*,200)S

100FORMAT(1X,'A=',F10.3,3X,'B=',F10.3,3X,'N=',I4)

200FORMAT(1X,'S=',F15.8)

END

在区间【0,1】积分:

(理论上N越大,计算所用时间会越长。

区间数N

10

100

1000

5000

面积S

2.71971400

2.71829600

2.71828100

2.71828200

4、用牛顿迭代法求

的根。

如果迭代了10次还未达到

,就认为不收敛,打印出相应信息、运行程序。

编程如下:

READ(*,*)X1

DO10,I=1,10,1

F=X1**2-4.0*X1+1

F1=2.0*X1-4

X=X1-F/F1

X2=X1

X1=X

10CONTINUE

IF(ABS(X2-X1).LE.1E-6)THEN

WRITE(*,100)X2,X

100FORMAT(1X,'X2=',F15.7,3X,'X=',F15.7)

ELSE

WRITE(*,*)'ISNOTCONVERGENCE.'

ENDIF

END

3、输入若干学生一门课的成绩,统计各分数段的人数。

凡不及格(60分以下)都由一个计数器来统计,其他以10分作为一个分数段,100分作为一个分数段。

编程如下:

PARAMETER(NS=20)

INTEGERC(0:

5)

DIMENSIONS(NS)

DATAC/6*0/

WRITE(*,*)'ENTER',NS,'STUD.SCORE:

(5/LINE)'

READ(*,100)(S(I),I=1,NS)

DO10I=1,NS

IF(S(I).LT.60)C(0)=C(0)+1

IF(S(I).GE.60.AND.S(I).LT.70)C

(1)=C

(1)+1

IF(S(I).GE.70.AND.S(I).LT.80)C

(2)=C

(2)+1

IF(S(I).GE.80.AND.S(I).LT.90)C(3)=C(3)+1

IF(S(I).GE.90.AND.S(I).LT.99)C(4)=C(4)+1

IF(S(I).EQ.100)C(5)=C(5)+1

10CONTINUE

WRITE(*,300)

WRITE(*,*)'0-5960-6970-7980-8990-99100-'

WRITE(*,300)

WRITE(*,200)(C(I),I=0,5)

WRITE(*,300)

100FORMAT(5F6.0)

200FORMAT(1X,I3,5I7)

300FORMAT(1X,65('-'))

END

2、求出X的值。

1、FUNC(U,V)=ATAN(U/V)**2/V

A

(1)=1.0

A

(2)=A

(1)**2+1.0

X=FUNC(A

(1),A

(2))

3、FUN(A)=1+A

X=FUN(FUN(FUN(1.0)))

5、TRST(B,X)=A*X+B

A=2.0

H=10.0

TT=16.0

X=TRST(H/4.0,SQRT(TT))

编程如下:

1、FUNC(U,V)=ATAN(U/V)**2/V

A1=1.0

A2=A1**2+1.0

X=FUNC(A1,A2)

PRINT*,X

END

答案:

X=1.074845E-01

2、FUN(A)=1+A

X=FUN(FUN(FUN(1.0)))

PRINT*,X

END

答案:

X=4.000000

5、TRST(B,X)=A*X+B

A=2.0

H=10.0

TT=16.0

X=TRST(H/4.0,SQRT(TT))

PRINT*,X

END

答案:

X=10.500000

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1