主题:程序运行结果是乱码。。求解决啊,急求啊
程序的目的就是判断两个文件每一行的前5个字符是不是一样,一样的话就把第一个文件的对应行和后一个文件对应行的后边几个字符放到一起保存。
program station_amsr_e
implicit none
integer,parameter:: s=722
integer,parameter:: l=14981
integer i,j,q,ifn
character(len=80) :: fn1(s),fn2(l),fn3(s),fn4(l)
character(len=160) :: sm(1,14981)
open(100,file='E:\liang\data\lis\station.txt')
do ifn=1,s
read(100,'(a36)')fn1(ifn)
enddo
close(100)
open(200,file='E:\liang\data\lis\2003insitu-china.txt')
do ifn=1,l
read(200,'(a36)')fn2(ifn)
enddo
close(200)
do ifn=1,s
fn3(ifn)=fn1(ifn)(1:5)
enddo
do ifn=1,l
fn4(ifn)=fn2(ifn)(1:5)
enddo
do i=1,l
print*,i
do j=1,s
if (fn4(i).eq.fn3(j)) then
sm(1,i)=fn2(i)(1:25)//fn1(j)(6:17)
! else if (fn4(i).ne.fn3(j)) then
! sm(1,i)=fn2(i)(1:25)
endif
end do
end do
open(2,file='E:\liang\data\lis\jingweidu.txt')
do q=1,14981
write(2,*)sm(1,q)
enddo
close(2)
end program station_amsr_e
添加!之后的内容运行是第一个文件的内容,所以我觉得是 if (fn4(i).eq.fn3(j)) then
sm(1,i)=fn2(i)(1:25)//fn1(j)(6:17)
有问题,求高手解答啊,我跟这个程序大眼瞪小眼瞪了两天拉。。。
program station_amsr_e
implicit none
integer,parameter:: s=722
integer,parameter:: l=14981
integer i,j,q,ifn
character(len=80) :: fn1(s),fn2(l),fn3(s),fn4(l)
character(len=160) :: sm(1,14981)
open(100,file='E:\liang\data\lis\station.txt')
do ifn=1,s
read(100,'(a36)')fn1(ifn)
enddo
close(100)
open(200,file='E:\liang\data\lis\2003insitu-china.txt')
do ifn=1,l
read(200,'(a36)')fn2(ifn)
enddo
close(200)
do ifn=1,s
fn3(ifn)=fn1(ifn)(1:5)
enddo
do ifn=1,l
fn4(ifn)=fn2(ifn)(1:5)
enddo
do i=1,l
print*,i
do j=1,s
if (fn4(i).eq.fn3(j)) then
sm(1,i)=fn2(i)(1:25)//fn1(j)(6:17)
! else if (fn4(i).ne.fn3(j)) then
! sm(1,i)=fn2(i)(1:25)
endif
end do
end do
open(2,file='E:\liang\data\lis\jingweidu.txt')
do q=1,14981
write(2,*)sm(1,q)
enddo
close(2)
end program station_amsr_e
添加!之后的内容运行是第一个文件的内容,所以我觉得是 if (fn4(i).eq.fn3(j)) then
sm(1,i)=fn2(i)(1:25)//fn1(j)(6:17)
有问题,求高手解答啊,我跟这个程序大眼瞪小眼瞪了两天拉。。。