Fortran学习记录3(选择语句)

流程控制语句

if的基本用法
if(逻辑表达式)then
...
...       ! 当逻辑表达式为真时执行then代码块,否则执行end if之后的内容
...
end if

以上then代码块中如果只有一行程序代码,可以改写成下面的形式:

if(逻辑表达式) 一行表达式---------如:
if(a>3) a=a+1

if-else语句块
if(逻辑表达式)then
...
else
...
end if

下面利用该语句块写一个分段函数:

 program main
  C
    implicit real*8(a-z)
    real*8::x,f
  C  
    if(x<-1)then
    f=x**2+sin(x)
    else
    f=x**3-cos(x)
    end if
  C  
    print*,"please input a real number"
    read(*,*)x
    write(*,*)"the value of function is: ",f
  end program main

多重判断if-elseif语句

if可以配合else-if来做多重判断,多重判断可以一次列出多个条件以及多个程序模块,但其中最多只有一个成立。也就是说每次最多只有一个程序块被执行。

 if(条件1)then
  ...
  elseif(条件2)then
  ...
  elseif(条件3)then
  ...
  ...
  else   ! else这个条件模块可以省略,当前面都不成立时,才执行这个。
  ...
  ...
  end if

面写一个简单的程序,要求给出一个人的工资,计算他应该纳多少税。

 program main
  !------------------------------program comment
  ! Description   :这个小程序计算个人收入应上交税金
  !---------------------------------------
  ! Version      :V1.0
  !  Date         :20160731
  !  Coding by    :xiaodai
  !-----------------------------------------
  ! Input parameter  :wage,thr_ensure,house_pay,s_num
  ! Output parameter :tax,aftax
  !-----------------------------------------
  !
  implicit real*8(a-z)
  real*8::wage,temp,tax,aftax
  ! wage月工资,tax应纳税金,aftax税后工资
  !假设这个城市的三险一金标准是养老保险8%、医疗保险2%、失业保险1%、住房公积金8%
  !
  print*,"请输入您的月工资"
  read(*,*)wage
  temp=wage*(1-0.08-0.02-0.01-0.08)-3500
  !
  if(temp<=0)then
  tax=0
  elseif(temp<=1500)then
  tax=temp*0.03
  elseif(temp<=4500)then
  tax=1500*0.
  • 1
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值