24小时热门版块排行榜    

CyRhmU.jpeg
查看: 531  |  回复: 12
当前主题已经存档。

wester

金虫 (著名写手)

引用回帖:
Originally posted by mystar at 2009-8-22 14:23:

转场整型,就在mod里转

if (mod (int(a),int(b)) .eq. 0) then
c=1
endif

非常感谢
11楼2009-08-22 14:24:22
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

snoopyzhao

至尊木虫 (职业作家)

★ ★
小木虫(金币+0.5):给个红包,谢谢回帖交流
loovfnd(金币+1,VIP+0):谢谢讨论 8-22 21:13
引用回帖:
Originally posted by mystar at 2009-8-22 14:08:
a  b  用整型

a  b  的余数为0

这个可行吗?

假如,a = 2.5, b =0.4,你的这种方法肯定会倒致程序异常限出。如果 b=1.4,这种方法又会给出肯定的结果,但实际上不是,呵呵……

a/b = c,然后用 c / int(c) 或 c - init(c) 来判断?
CODE:
C234567
      program test
      real a, b, c, d, e
C     integer f
      a = 2.5
      b = 0.4
      c = a / b
      d = c / int(c)
      e = c - int(c)
C     f = mod(int(a), int(b))
      if (d > 1.) write(*,*) d
      if (e > 0.) write(*,*) e
C     write(*,*) f
      end

当然,这个程序中存在对实数大小进行比较的句子,不是很好,但一时想不到如何改了……

[ Last edited by snoopyzhao on 2009-8-22 at 16:16 ]
12楼2009-08-22 16:14:50
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

snoopyzhao

至尊木虫 (职业作家)

★ ★ ★
小木虫(金币+0.5):给个红包,谢谢回帖交流
woshilsh(金币+2,VIP+0):感谢您的及时反馈 8-23 16:22
今天看了下 gfortran 中 mod 的定义,已经接受 real 型的变量了,这样楼主的问题就很好办了,只要判断

mod(a,b) 是否大于零就可以了……
13楼2009-08-23 16:18:11
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 wester 的主题更新
普通表情 高级回复(可上传附件)
信息提示
请填处理意见