回 帖 发 新 帖 刷新版面

主题:循环??

大家好,我在做一个简单的循环,但是程序出现错误,把程序贴在下面。求大家帮忙谢谢!
  program flood
    implicit none
    real::q,w,v
    real::l,i
    real::q1,q2,q3
    real::m
    q=51.8
    w=53.7
    read(*,*)l
    q1=2.0357*l-1942.5
    write(*,*)'q1=',q1
    do i=961.5,966.5,0.1
      q2=2.0357*i-1942.5
      v=q2-q1
    q3=q*(1-v/w)
    m=q3-q2
    if(m.le.0.01)then
    write(*,*)'q2=',q2
    write(*,*)'i=',i
    write(*,*)'q3=',q3
    write(*,*)'v=',v
    write(*,*)'m',m
    enddo
    end

回复列表 (共6个回复)

沙发

后面加了endif后,也不循环,为什么啊??

板凳

循环变量需要整型。

3 楼


谢谢

4 楼

他是用了f90标准里面的一个规则. 那个时候是允许用浮点数做循环指标的. 不过已经在f95废除了. 楼主还是改成整数吧.

还有你的endif应该在
    write(*,*)'m',m
ENDIF
    enddo
    end
而不是最后.

详细, 还是那句, 先翻翻书, 基础学了没亏的.

5 楼


谢谢,程序好久不怎么用了,有点忘了。我再看看书

6 楼

1、循环变量 I需要取为整数
2、缺少ENDIF

我来回复

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