爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 23119|回复: 20

[求助] 为什么我的fortran设定的是一列,输出的是四列

[复制链接]
回帖奖励 6 金钱 回复本帖可获得 2 金钱奖励! 每人限 1 次(中奖概率 90%)

新浪微博达人勋

发表于 2012-4-17 21:12:30 | 显示全部楼层 |阅读模式

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

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

x
想得出一列的,可是算出来txt显示的是四列,附上我的程序
       program main
      implicit none
      integer i,j,k,l,m,n,con1,con2  
      integer::line=18262
        real  year(50)
        real station(18262)
        real  a(100,1)
       !读取资料
       open(10,file='one.txt',status='old')

       do i=1,line
                 read(10,*) station(i)
         end do
         close(10)





       open(20,file='11.txt',status='replace')     

      if (station(1)<1) then
                con1=0
            con2=1
        else
            con1=1
            con2=0
        end if

      do i=2,line
      if(con1==0) then
             if(station(i)<1) then
              con2=con2+1
               con1=0
             else
                  if(con2/=0) then
                    a(con2,1)=a(con2,1)+1
                  endif
            con1=1
            con2=0
            endif
        elseif(con1==1) then
             if(station(i)<1) then
              con2=con2+1
              con1=0
             else
                  if(con2/=0) then
                    a(con2,1)=a(con2,1)+1
                  endif
            con1=1
            con2=0
            endif
      endif
       
        enddo  
            


       
      write(20,*)(a(i,1),i=1,100)


       
      close(20)
        end


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

新浪微博达人勋

 成长值: 0
发表于 2012-4-18 00:38:01 | 显示全部楼层

回帖奖励 +2 金钱

默认的是四列吗?额···刚刚还真的无聊测试了一下,发现事实并非如此,我用整形测试的时候每一行六个数,单精度的时候每一行5个数,双精度的时候每行大约3个数,但是有意思的是,我数了一下,不管哪一种方法,每一行大约占去70个左右的字符。

现在回答楼主的问题,除了楼上@topmad的选用显式循环以外还可以继续使用楼主的隐式循环格式,只不过需要加一个格式输出
write(20,“(f)”) (A(i,1),1=1,100)
同样能够达到效果
密码修改失败请联系微信:mofangbao

新浪微博达人勋

0
早起挑战累计收入
发表于 2012-4-17 21:31:10 | 显示全部楼层

回帖奖励 +2 金钱

默认格式(*)输出都是四列,楼主看一下fortran的格式化输入与输出这一章吧
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2012-4-17 21:37:17 | 显示全部楼层
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2012-4-17 22:06:54 | 显示全部楼层
do i=1,100
write(20,*) A(i,1)
enddo

就可以了
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2012-4-18 06:58:11 | 显示全部楼层

回帖奖励 +2 金钱

言深深 发表于 2012-4-18 00:38
默认的是四列吗?额···刚刚还真的无聊测试了一下,发现事实并非如此,我用整形测试的时候每一行 ...

同感呀,一般用格式输出控制
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2012-4-18 08:34:17 | 显示全部楼层

回帖奖励 +2 金钱

我靠,为啥我回帖木有加分.....
一般用默认格式的表示压力不大
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 成长值: 0
发表于 2012-4-18 10:49:23 | 显示全部楼层
topmad 发表于 2012-4-18 08:34
我靠,为啥我回帖木有加分.....
一般用默认格式的表示压力不大

rp不够啊,哈哈
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2012-4-18 11:17:01 | 显示全部楼层
言深深 发表于 2012-4-18 10:49
rp不够啊,哈哈

你这狗屎人品.....居然得小卡片了

诅咒你下次出差宾馆房间里没有小卡片....
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 成长值: 0
发表于 2012-4-18 16:50:32 | 显示全部楼层
topmad 发表于 2012-4-18 11:17
你这狗屎人品.....居然得小卡片了

诅咒你下次出差宾馆房间里没有小卡片....

已经存了,哈哈哈哈哈
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

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

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

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