爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 2639|回复: 6

[求助] 循环or判断的问题

[复制链接]

新浪微博达人勋

发表于 2014-10-5 16:38:15 | 显示全部楼层 |阅读模式

登录后查看更多精彩内容~

您需要 登录 才可以下载或查看,没有帐号?立即注册 新浪微博登陆

x
volcanic11000.f90 (833 Bytes, 下载次数: 1)
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2014-10-5 16:54:51 | 显示全部楼层
没几行的程序就请楼主直接把代码贴出来吧
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2014-10-5 17:26:48 | 显示全部楼层
lqouc 发表于 2014-10-5 16:54
没几行的程序就请楼主直接把代码贴出来吧

好滴!
program l
implicit none

real,dimension(940)::yr,totalsul,sul
real,dimension(199)::n,totalsulsum,sulsum
integer::i,m,year

open(1,file='volcanic11000.txt')
open(2,file='volcanic11000new.txt')

read(1,*)(yr(i),totalsul(i),sul(i),i=1,940)
write(*,*)(yr(i),totalsul(i),sul(i),i=1,940)

n(1:199)=0.0
totalsulsum(1:199)=0.0
sulsum(1:199)=0.0

do year=1990,10,-10
do i=1,940
  if((year-10)<=(1950-yr(i))<year)then
    n(200-year/10)=n(200-year/10)+1
    totalsulsum(200-year/10)=totalsulsum(200-year/10)+totalsul(i)
    sulsum(200-year/10)=sulsum(200-year/10)+sul(i)
   endif
  enddo
totalsulsum(200-year/10)=totalsulsum(200-year/10)/n(200-year/10)
sulsum(200-year/10)=sulsum(200-year/10)/n(200-year/10)
enddo

m=5
do i=199,1,-1
write(2,*)m,totalsulsum(i),sulsum(i)
m=m+10
enddo

end program l
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2014-10-5 18:48:13 | 显示全部楼层
if((year-10)<=(1950-yr(i))<year)then
这个明显是c语言的规则啊,不是fortran的规则吧
要改成 (year-10)<=(1950-yr(i)).and.(1950-yr(i))<year

评分

参与人数 1金钱 +6 收起 理由
lqouc + 6 正解

查看全部评分

密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2014-10-5 19:26:51 | 显示全部楼层

嗯嗯,改过了,果然是这样!好厉害啊你,赞一个赞一个~
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2014-10-6 14:40:55 | 显示全部楼层
不会用C语言的表示一下子还看懵了
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2014-10-7 08:46:36 | 显示全部楼层
topmad 发表于 2014-10-6 14:40
不会用C语言的表示一下子还看懵了

我也不会,只是按照逻辑就写成这样了……哈哈,楼上是高手的耶!
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

快速回复 返回顶部 返回列表