高分求fortran编写小程序

有A,B两个文件分别存放着整型数据。把既在A文件中存在,又在B文件中存在的整数找出存放文件C中,使C中的每个数据各不相同。没有格式要求一个文件里有多个数据具体个数没有要求... 有A,B两个文件分别存放着整型数据。把既在A文件中存在,又在B文件中存在的整数找出存放文件C中,使C中的每个数据各不相同。
没有格式要求 一个文件里有多个数据 具体个数没有要求的 只要满足题目要求的任何形式都行 谢谢
展开
 我来答
匿名用户
2009-06-06
展开全部
条件不够清楚,如a文件中数据个数,是一行一个数据,还是一个N个?或者个数不定?b文件也是。格式不同,编出来就不一样。
你补充一下。我帮你做。
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

!发现你发了三个帖子,给你写一个。
!2009-6-6晚编写,cvf6.5通过。
!数据文件要求:每行整数数据一个
!结果会自动写到c.txt中。
implicit none
integer,allocatable:: a(:),b(:),c(:),flag(:)
integer::RowA,RowB,i,j
character(len=1)::temp
!-------------------------------
!从a.txt中读数据至a数组
open(101,file="a.txt")
RowA=0
do while(eof(101)/=.true.)
read(101,"(a1)") temp
RowA=RowA+1
enddo
allocate(a(RowA))
rewind(101)
do i=1,RowA
read(101,*) a(i)
end do
close(101)
!-------------------------------
!从b.txt中读数据至b数组
open(102,file="b.txt")
RowB=0
do while(eof(102)/=.true.)
read(102,"(a1)") temp
RowB=RowB+1
enddo
allocate(b(RowB))
rewind(102)
do i=1,RowB
read(102,*) b(i)
end do
close(102)

!-------------------------------
!找a,b数组中不同的数据,用flag标记
allocate(c(rowa+rowb))
c(1:rowa)=a
c(rowa+1:rowa+rowb)=b

allocate(flag(rowa+rowb))
flag=0 !0表示不同,1表示相同,假设不同
do i=1,rowa+rowb-1
if(flag(i)==0) then
do j=i+1,rowa+rowb
if(c(i)==c(j)) then
flag(i)=1
flag(j)=1
end if
end do
end if

end do
!-------------------------------------
!不同的数据写到c.txt中
open(201,file="c.txt")
do i=1,rowa+rowb
if(flag(i)==0) then
write(201,*) c(i)
write(*,*) c(i)
end if
end do
close(201)
!-------------------------------
deallocate(a,b,c,flag)
stop
end
a31232710
2009-06-03 · TA获得超过5816个赞
知道大有可为答主
回答量:6091
采纳率:100%
帮助的人:0
展开全部
先加分,我帮你
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式