
1. 通过编辑 Fortran 文件来手动删掉第一行。这个方法最为简单直接,只需要打开 Fortran 文件,将第一行所在位置的内容删除即可。但这只适合删除有限量的 Fortran 文件,在处理大量文件时比较费时费力。
2. 在 Fortran 程序中添加一些控制碧念语句来跳过第一行的执行,等于是对第一行进行了剔除。例如使用IF,WHERE,DO WHILE和EXIT语句之类的跳转语法来实现跳过第一行、或者将第一行放在函数或子程序外层。
3. 使用 sed 或 awk 等 Linux 命令行工具,使用正则表达式匹配第一行的 Pattern,并将其剔除。例如可以使用 `sed '1d' file.f` 去掉file.f文件中的第一行。
注意,以上三种方法都需要针对特定情况进行改编或实现,具体 *** 作需悔碰困要根据实际需求进行选择并且需要注意代码正确性。
可以如下改造,仅供参考
program testimplicit none
integer i,j,m,n,array1(50),array2(50)
logical is_same1(50),is_same2(50)
is_same1 = .false.
is_same2 = .false.
read*,m
print*,"请输入第二个数组的个数"
read*,n
print*,"请输入第一组数"
do i=1,m
read*,array1(i)
end do
print*,"请输入第二组隐敬数"
do j=1,n
read*,array2(j)
end do
do i=1,m
do j=1,n
if(array1(i).eq.array2(j))then
!call del(array1,i,m)
!call del(array2,j,n)
is_same1(i) = .true.
is_same2(j) = .true.
end if
end do
end do
print*,"删除后的第一组数为:"
!write(*,*)(array1(i),i=1,m)
do i = 1,m
if(.not. is_same1(i)) then
孙携绝 print*, array1(i)
end if
end do
print*,"删除后的第二组数为:"
!write(*,*)(array2(j),j=1,n)
do i = 1,n
if(.not. is_same2(i)) then
print*, array2(i)
end if
end do
stop
end program
结果为
请输入第一个数组的个数7
请输入第二个数组的个数
5
请输入第一组数
2
5
5
8
9
12
18
请输入第二组数
5
8
12
12
14
删除后的第一组数为:
2
9
18
删除后的第二组则姿数为:
14
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)