fortran考试试题(A)有答案版
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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