本帖最后由 weixing1531 于 2019-11-29 18:10 编辑
例如:
以下这一行代码中
复数的表控输入
[Fortran] 纯文本查看 复制代码 read(*,*)c
将read的第二个星号替换成字符串'(...)',空中将填写什么内容才能达到与read(*,*)c相同的功能
[Fortran] 纯文本查看 复制代码 program main
implicit none
type::rational !分数类型
integer :: num !分子
integer :: denom !分母
end type
type(rational)::temp
complex::c
read(*,*)c !读取复数 例如(1.0,2.0)
temp%num = nint(real(c)) !取实部最接近整数
temp%denom = nint(aimag(c)) !取虚部最接近整数
write(*,*)temp
read(*,*)
end program
我编写了一个分数类
想跟复数一样构造类似的读写格式
(分子,分母)或(分子/分母)
目前想到的相对可行方法就行通过复数绕个弯实现
先读取一个复数
然后将其实部、虚部分别转换为最接近的整数
再分别赋值给分数的分子、分母
如果知道复数的表控输入是怎么实现的,就不用绕弯了
|