回 帖 发 新 帖 刷新版面

主题:请教一个弱智的问题,望各位大侠帮忙

program male
implicit none
real a,b,ans
character operator
read(*,*)a
read(*,*)operator
read(*,*)b
select case(operator)
case('+')
     ans=a+b
case('**')
     ans=a**3
case("-")
     ans=a-b
case('*')
     ans=a*b
case('/')
     ans=a/b

case default
write(*,"('unknown operator',A2)")operator
stop
end select
write(*,"(F6.2,A2,F6.2,'=',F6.2)")a,operator,b,ans
stop
end

请教为什么我输入 2,**,3。得到的结果是确是,2.00*3.00=6.00,为什么不是乘方  


回复列表 (共6个回复)

沙发

我已经找到了,前面的character operator改为character(len=20)operator就可以了,还是不明白为什么

板凳


CHARACTER没有括号时认为字符是一个字节长

3 楼

恩,我已经搞懂了,非常谢谢

4 楼

再请问一下data ans /0/是什么意思?谢谢了

5 楼

给ans赋初值,初值为0

6 楼

感谢,还是书看少了

我来回复

您尚未登录,请登录后再回复。点此登录或注册