fortran语言编程
已知两组实型数据如下(符号代表的均为具体值),请按要求编写程序x1,x2......x20y1,y2......y201.编写函数子程序,求n个数据的平均值2.编写子例程...
已知两组实型数据如下(符号代表的均为具体值),请按要求编写程序
x1,x2......x20 y1,y2......y20
1.编写函数子程序,求n个数据的平均值
2.编写子例程子程序,调用上述函数子程序,返回平均值大的那组数据
3.编写主程序,输入两组观测数据,调用上述子例程子程序求出平均值大的那组程序,并在屏幕上显示出来 展开
x1,x2......x20 y1,y2......y20
1.编写函数子程序,求n个数据的平均值
2.编写子例程子程序,调用上述函数子程序,返回平均值大的那组数据
3.编写主程序,输入两组观测数据,调用上述子例程子程序求出平均值大的那组程序,并在屏幕上显示出来 展开
1个回答
展开全部
real function ave(a)
implicit none
real :: a(20)
integer :: i
ave=0.0
do i=1,20
ave=a(i)+ave
end do
ave=ave/20.0
end function
subroutine compare(a,b)
implicit none
real :: a(20), b(20)
real,external :: ave
if (ave(a)<ave(b)) a=b
write(*,*) "average",ave(a)
end subroutine
program main
implicit none
real,external :: ave
real :: a(20), b(20)
real :: m
integer :: error
open (unit=10,file="data.txt",status="old",iostat=error)
if(error/=0) then
write(*,*) "open data.txt fail"
stop
else
read(10,*) a
read(10,*) b
end if
call compare(a,b)
write (*,*) a
end program
提前在文件data.txt文件中输入数据,格式如下
1.986,1.987,1.765,1.453,1.786...
2.976,2.654,3.7654,9.987,3.234..
我只写了五个数,放在源程序所在的文件夹中。
implicit none
real :: a(20)
integer :: i
ave=0.0
do i=1,20
ave=a(i)+ave
end do
ave=ave/20.0
end function
subroutine compare(a,b)
implicit none
real :: a(20), b(20)
real,external :: ave
if (ave(a)<ave(b)) a=b
write(*,*) "average",ave(a)
end subroutine
program main
implicit none
real,external :: ave
real :: a(20), b(20)
real :: m
integer :: error
open (unit=10,file="data.txt",status="old",iostat=error)
if(error/=0) then
write(*,*) "open data.txt fail"
stop
else
read(10,*) a
read(10,*) b
end if
call compare(a,b)
write (*,*) a
end program
提前在文件data.txt文件中输入数据,格式如下
1.986,1.987,1.765,1.453,1.786...
2.976,2.654,3.7654,9.987,3.234..
我只写了五个数,放在源程序所在的文件夹中。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询