fortran考试试题(A)有答案版

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Implicit none

Integer::floor=5,i

Do i=1, floor

If(i==3)cycle

If(i==4)cycle

Write(*,*)i

End do

end

5. 下列程序的运行结果为7

6.0,2.0。

Program main

Implicit none

Real :: a, b, m

A=2.0

B=76.0

If(a

M=a

A=b

B=m

End if

Write(*,*) “a=”,a “b=”,b

end

6. 下列程序的运行结果是10302。

Program test

Implicit none

Integer::sum,i

sum=0.0

do i=1,203,2

sum=sum+i

end do

write(*,*) i

end

7. 下列程序的运行结果是12000。Program test

Implicit none

Integer::i

Integer::a(5)=(/ (i, i=1,5) /) Integer::b(5)=0

Where (a<3)

b=a

End where

Write(*,”(5(i3,1x))”) b

end

8. 下列程序的运行结果是30。Program test

Implicit none

Integer,parameter:: limit=10

Integer counter

Integer:: ans=0

Counter=2

do while(counter<=limit)

ans=ans+counter

counter=counter+2

end do

Wrte(*,*)ans

end

9. 下列程序的运行结果是2,3。Program main

implicit none

integer ::a=1

integer ::b=2

call add ( a )

Call add ( b)

Write(*,*) a , b

Stop

end

Subroutine add (sum) Implicit none

integer :: sum

sum=sum+1

Return

end

10. 下列程序的运行结果是3。

Program main

implicit none

integer, target :: a=1

integer, pointer :: p

p=>a

p=3

write(*,*)a

end

在内存中的存储顺序为:1324 。

11.二维数组12

34

12.下列程序的运行结果是55555 。

Program test

Implicit none

Integer::i

Integer::a(5)

Forall ( i=1:5 )

A(I)=5

End forall

Write(*,*)a

Stop

end

13.数学表达式13-1/2的值为:13。

14.逻辑表达式((3>5).and.(4>1)).or.(5<8)的值为: ture 。

15. 下列程序的运行结果是3.000000,6.000000。Program test

Implicit none

Complex a,b,c

A=(1.0,2.0)

b= (2.0,4.0)

c=a+b

Write(*,*) c

Stop

end

二、程序说明题(10分,每空2分)

Fortran语句中,“!”后的内容为对整个程序或某行程序的说明,请在下面程序中感叹号后,对相应fortran语句进行说明。(10分,每空2分)

Program test

Implicit none !无隐藏变量integer, parameter :: students=5 !定义一个永久常量STUDENT,令其等于5

integer ::s t u d e n t(s t u d e n t s)!定义一个长度为5的数组

integer :: I

Do i=1, students

write(*,"('number',i2)")I !输出I的数值长度为2

read(*,*) s t u d e n t(i)!输入一个数值赋值到对应的STUDENT(i)中区

end do

end

三、程序完善题(20分,每空2分)

1.编写程序,读入一个学生的考试成绩,然后输出该成绩的等级。成绩等级规定为:90~100分为A级,80~89分为B级,70~79分为C级,60~69分为D 级,60分以下为E级。若输入负分或大于100分的成绩,则程序输出一个“?”号。

program main

implicit none

integer::score

character grade

write(*,*)” score:”

read(*,*) scrore

if(score>100)then

grade=”?”

elseif( scrore>=90 )then

grade=”A”

elseif( scrore>=80 )then

grade=”B”

elseif( scrore>=70 )then

grade=”C”

elseif(score>=60)then

grade=”D”

elseif(score>=0)then

grade=”E”

ELSE DEFAULT

grade=”?”

endif

write(*,*)”成绩等级为:”,grade

end

2.编写程序,读入一年级5个班同学的数学成绩,每个班有10名学生。

program main

implicit none

integer,parameter::classes=5

integer,parameter::students=10

integer::student( students , classes )

integer::s

integer::c

相关文档
最新文档