作业帮 > 数学 > 作业

求几个简单fortran

来源:学生作业帮 编辑:拍题作业网作业帮 分类:数学作业 时间:2024/04/20 09:16:23
求几个简单fortran
1、FORMAT(3x,F6.2) 前面意思为空3格(输入的前三个数不计),再取6个数,最后两个为小数?F是专门定义数字的?要是字母就是A?
2、WRITE(*,'(1X,3A)')STR1,STR2,STR3 我看题答案也没提行啊
3、为什么看题时有时候WRITE命令括号里1x表示空格,有时候表示提行?
4、E的问题,如按 FORMAT(1X,E8.2)输出,3.00E+00 30E+01 两个为什么前者错,小数部分不是2吗?两个的值是多少啊,3和30?
5、DIMENSION A(2,3)
READ(*,*)A
CALL SS1(A)
END
SUBROUTINE SS1(B)
DIMENSION B(3,2)
WRITE(*,*) B(3,1)
END
我想问A和B是怎么对应的?是A(a,b)=B(b,
另外,要是这题作点改动,A(3,3) 然后定义一个一维的X(3),那X中的三个数和A里怎么对应,是X(1)=A(1,1)
X(2)=A(2,2) X(3)=A(3,
1 您说的基本正确.不过不一定是6个数,小数点等符号也包含在内.
2 您的病句太多了,恕我不知您要问什么.3A就是说一行输出三个变量,所以STR1,STR2,STR3都在一行输出.
3 病句.恕我不知您要问什么.
4 3.00E+00 30E+01 都不对.如果数值是3,应输出0.30E+01,如果是30,应输出0.30E+02,不信你可以编程试一试.小数部分当然是两位,所以是0.30.
5 不是A(a,b)=B(b,a).
A(2,3)在内存里的存储顺序是按列存储,即A11->A21->A12->A22->A13->A23.
在subroutine里建立B(3,2)时,也是按列读取,即B11->B21->B31->B12->B22->B32.
而主程序传给subroutine的不是数组本身,而是指针,即数组的首地址.所以A11和B11地址一样.
因此数组A和B的对应关系为:
A11 A21 A12 A22 A13 A23
B11 B21 B31 B12 B22 B32
如果按照你说的改动,那么形参X应该对应A数组的前3个元素(注意按列存储的顺序),即
A11 A21 A12
X1 X2 X3
以上回答都可以通过编程验证,建议你自己动动手. 有问题再交流