发布网友 发布时间:2024-10-23 16:40
共2个回答
热心网友 时间:1分钟前
IF语句不是一种选择结构,只是一条语句,它在算法较简单的场合下,可以灵活地完成二分叉选择算法。逻辑IF语句判别逻辑表达式的值是否为“真”,并执行一操作。其一般形式为:IF(逻辑表达式) 执行语句。如果条件成立(即逻辑表达式值是‘真’),则执行其后紧跟的执行语句,而后执行下一条语句;如果条件不成立,则整个IF语句不作任何操作,只是起下滑作用,使控制转移到IF语句的下一个语句。
IF语句最大的用处是退出迭代。计算机程序中经常作连加、连乘或反复执行某段程序,并规定只有当某个参数大于或小于某值时才停止循环,这时就可以使用IF语句。IF语句用于两分叉选择的例子如:求数学中的阶梯函数( ),可写成:
Y=0
IF(X>1) Y=1
注意本例中不可写成:
IF(X<=0) Y=0
Y=1
例:IF(X>0. .AND. K\=N) Y=K+X
例:打印学生考试成绩,大于等于80分的为“A”,大于等于60分而小于80分的为“B”,小于60分的为“C”:
READ *,GRADE
IF(GRADE.GE.8O) PRlNT *,”A”
IF(GRADE.GE.6O .AND. GRADE.LT.80) PRlNT *,”B”
IF(GRADE.LT.6O) PRlNT *,”C”
逻辑IF语句当条件为“真”时只能执行一个执行语句而不能执行若干个语句。与块IF相比,逻辑IF语句是在一行中完成的一个选择操作,因此它又称“行IF语句”以与块IF区别。之所以用逻辑IF语句名称,是沿用了Fortrn66的定义,因为在F66中有两种IF语句:算术IF语句(F90/95中已废除)和逻辑IF语句。
逻辑IF语句也常与GOTO语句合用,但如果过多使用,程序结构将显得混乱,难于理解。应尽可能采用结构化的程序设计方法。[e_223_01.f]
望您能够采纳!!!
热心网友 时间:1分钟前
第一,你是否把最后一个括号写成了全角?
第二,以下代码我这边可以正常运行。
program main
implicit none
integer :: x(4) = (/0,0,1,2/)
if ( (x(1).gt.1).or.(x(2).gt.1).or.(x(3).gt.1).or.(x(4).gt.1) ) then
write(*,*) 's'
end if
end
第三,对于你的情况,您可以使用 any 语句。
program main
implicit none
integer :: x(4) = (/0,0,1,2/)
if ( any( x(1:4) > 1 ) ) then
write(*,*) 's'
end if
end