Fortran Coder

查看: 8600|回复: 2
打印 上一主题 下一主题

[数值问题] 统计年份并删除的逻辑问题,请高手帮帮忙

[复制链接]

8

帖子

4

主题

0

精华

入门

F 币
59 元
贡献
33 点
跳转到指定楼层
楼主
发表于 2015-1-24 22:58:09 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式
[Fortran] 纯文本查看 复制代码
program watersave
 implicit none
     character*5 filename
     integer :: i,k,j,q,flag
     integer :: a1, a2, a3 , a5, a6, a7, a8, a9, a10, a11, a12,a13 
     real*8 :: a4
     
     open(10, file = "D:\a\tem.txt")
     do i = 1, 221
         read(10, *) filename
         flag = 0 !// 每次赋初值
        open(11, file = "D:\a\"//filename//".txt")
         do k = 1,19358
             read(11, *)a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13
             do j = 1961, 2013
                 q = 0
                 if(a5 == j .and. a8 == 32766) then
                     q = q+1
                     if(q>18) then
                         flag = 1
                     endif
                 endif
             end do
         end do
         if(flag == 1) then
            close(11, status = "delete")
         else
            close(11, status = "keep")
         endif
     end do
 end

每一个文件时间序列都是1961到2013年,每一年只要a8列等32766的数大于18就把这个文件删掉,可是运行之后没有删掉,请高手帮忙指点一下哪里写的不对。
分享到:  微信微信
收藏收藏 点赞点赞 点踩点踩

8

帖子

4

主题

0

精华

入门

F 币
59 元
贡献
33 点
沙发
 楼主| 发表于 2015-1-25 20:48:03 | 显示全部楼层
fcode 发表于 2015-1-25 08:59
这是逻辑错误。

[mw_shl_code=fortran,true]read(11, *)a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13

我测试了,这下对了,我是新手多谢指点,我都修改过来了
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

捐赠本站|Archiver|关于我们 About Us|小黑屋|Fcode ( 京ICP备18005632-2号 )

GMT+8, 2024-5-16 03:07

Powered by Tencent X3.4

© 2013-2024 Tencent

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