求Fortran 矩阵各值平方的程序
偶对Fortran完全不懂得说,就想做一个最简单的程序,就是一个矩阵中所有的数值,在shift之后,变成了原值的平方。急急急,跪求~...
偶对Fortran完全不懂得说,就想做一个最简单的程序,就是一个矩阵中所有的数值,在shift之后,变成了原值的平方。急急急,跪求~
展开
1个回答
展开全部
程序
program mf
real a(5,5)
do i=1,5
do j=1,5
a(i,j)=i+j
end do
end do
print 10, ((a(i,j), i=1,5),j=1,5)
call mf2(a,5)
print *, ' '
print 10, ((a(i,j), i=1,5),j=1,5)
10 format(1x, 5f15.5)
end program mf
subroutine mf2(a,n) ! 求矩阵平方的子程序
real a(n,n)
do i=1,n
do j=1,n
a(i,j)=a(i,j)*a(i,j)
end do
end do
end subroutine mf2
运行结果
2.00000 3.00000 4.00000 5.00000 6.00000
3.00000 4.00000 5.00000 6.00000 7.00000
4.00000 5.00000 6.00000 7.00000 8.00000
5.00000 6.00000 7.00000 8.00000 9.00000
6.00000 7.00000 8.00000 9.00000 10.00000
4.00000 9.00000 16.00000 25.00000 36.00000
9.00000 16.00000 25.00000 36.00000 49.00000
16.00000 25.00000 36.00000 49.00000 64.00000
25.00000 36.00000 49.00000 64.00000 81.00000
36.00000 49.00000 64.00000 81.00000 100.00000
program mf
real a(5,5)
do i=1,5
do j=1,5
a(i,j)=i+j
end do
end do
print 10, ((a(i,j), i=1,5),j=1,5)
call mf2(a,5)
print *, ' '
print 10, ((a(i,j), i=1,5),j=1,5)
10 format(1x, 5f15.5)
end program mf
subroutine mf2(a,n) ! 求矩阵平方的子程序
real a(n,n)
do i=1,n
do j=1,n
a(i,j)=a(i,j)*a(i,j)
end do
end do
end subroutine mf2
运行结果
2.00000 3.00000 4.00000 5.00000 6.00000
3.00000 4.00000 5.00000 6.00000 7.00000
4.00000 5.00000 6.00000 7.00000 8.00000
5.00000 6.00000 7.00000 8.00000 9.00000
6.00000 7.00000 8.00000 9.00000 10.00000
4.00000 9.00000 16.00000 25.00000 36.00000
9.00000 16.00000 25.00000 36.00000 49.00000
16.00000 25.00000 36.00000 49.00000 64.00000
25.00000 36.00000 49.00000 64.00000 81.00000
36.00000 49.00000 64.00000 81.00000 100.00000
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询