fortran 002 稍微复杂一点的输入(时间序列读取)
2017-11-29 10:38
369 查看
1 从同一文件夹下读取很多文件
(1) 读取文件路径open(10,file='Address.txt') read(10,*)Address close(10)
(2) 读取每一个文件
filename=trim(Address)//'******.txt' size1=0 inquire(file=filename,exist=alive1) if(alive1)then open(10,file=filename,access="sequential",status="old") # 读取每一行,并且判断文件是否结束 do while(.true.) read(10,"(A512)",iostat=status1)buffer1 if(status1/=0)exit size1=size1+1 # size 记录数组的长度 end do else write(*,*)TRIM(filename),"不存在。" stop end if allocate(RS(size1)) # 设置前边定义动态数组的size rewind(10) #当您读完第一遍后,用REWIND回到文件头部。 !read(10,*) do i=1,size1 read(10,*)RS(i) end do close(10)
(3) 输出
filename=trim(Address)//'flood_rs.txt' open(10,file=filename) do i=1,size(Q) write(10,*) Q(i) end do close(10)
2 fortran 数据结构小结
每个变量需要定义初值定义变量时要注意精度问题,如果精度太低,结果将出现误差
integer 整形 real 浮点型 allocatable 动态数组 size 未定 定义方法 : allocate(size) 数组初值定义 : variable(:) = 0
相关文章推荐
- 初学习cocos2d小结(感冒了,几行代码都记不住...稍微复杂一点的动作序列看不下去,还是总结一下这两天看的东西)
- 编写一个程序读取输入,直到‘#’,并报告序列 ei 出现的次数
- 最长有序子序列 时间复杂度O(n^2)
- 数组连续子序列的最大的和-四种算法,四种时间复杂度
- 稍微复杂一点的瞄准算法-直线瞄准算法
- 用分治法求最大子序列问题,时间复杂度O(N*logN)
- 输入一个数组和一个数字,在数组中查找两个数,使得它们的和正好是输入的那个数字 时间复杂度O(NlogN)
- 以时间复杂度O(n)计算最大子序列和
- 每天一道LeetCode-----在给定序列中找到满足nums[i]>nums[i-1]&&nums[i]>nums[i+1]的位置,要求时间复杂度是O(logN)
- 解析稍微复杂一点的数据
- 输入一个数组和一个数字,在数组中查找两个数,使得它们的和正好是输入的那个数字 时间复杂度O(NlogN) 空间复杂度O(1)
- 分治算法题:nlgn时间复杂度计算原序列的重要逆序个数
- 快速排序不同输入规模时间复杂度分析
- 每天一道LeetCode-----找到序列中第一个没有出现的正整数,要求时间复杂度是O(n),空间复杂度是O(1)
- 输入一个整形数组,数组里有正数也有负数。数组中连续的一个或多个整数组成一个子数组,每个 子数组都有一个和。求所有子数组的和的最大值。要求时间复杂度为O(n)。
- 编写一段程序,从标准输入读取string对象的序列直到连续出现两个相同的单词或者所有单词都读完为止。使用while循环一次读取一个单词,当一个单词连续出现两次是使用break语句终止循环。输出连续重复出现的单词,或者输出一个消息说明没有人任何单词是重复出现的。
- 求最大连续序列和的一个巧妙方法,时间复杂度O(n)
- 最长递增子序列(两种时间复杂度算法及其区别)+最长递减子序列(reverse)
- 输入一个数组和一个数字,在数组中查找两个数,使得它们的和正好是输入的那个数字。 时间复杂度O(N) 空间复杂度O(N)
- 【难】求数组中最长递增子序列,时间复杂度O(nlogn)