发布网友 发布时间:2022-04-23 11:52
共1个回答
热心网友 时间:2023-05-18 18:11
integer n,i,j,k
read(*,*)n
cn=97
k=int(sqrt(n*1.0))
j=1
if (n.eq.1) then
j=0
goto 100
endif
if ((n.eq.2).or.(n.eq.3)) then
j=1
else
do 10 i=2,k
if (mod(n,i).eq.0) then
j=0
goto 100
endif
10continue
endif
100if (j.eq.0) then
write(*,*)'not prime'
else
write(*,*)'prime'
endif
stop
end
==================================
dimension a(12)
data a/1,2,3,4,5,6,7,8,9,10,11,12/
data n/12/
write(*,*) fun(a,n)
stop
end
function fun(a,n)
dimension a(n)
integer i,j
real sum,aver,max
sum=0
do 10 i=1,n
sum=sum+a(i)
10continue
aver=sum/n
max=-1.0e7
do 20 i=1,n
if ((a(i).lt.aver).and.(a(i).gt.max)) then
max=a(i)
endif
20continue
fun=max
return
end
==================================
dimension m(100),n(100)
real sum,m,n
integer i,j,k
n(1)=2
m(1)=3
n(2)=4
m(2)=5
sum=n(1)/m(1)+n(2)/m(2)
do 10 i=3,25
n(i)=n(i-1)+n(i-2)
m(i)=n(i-1)+m(i-1)
sum=sum+n(i)/m(i)
10continue
write(*,*)sum
stop
end
追问谢谢!有一个问题,第二个里面max=-1.0e7,然后输出的就是这个,是为什么呢?从他后面print*,ave,的话出来的还是6.5没问题
追答那是给一个相对较小的数作为初始值,在程序运行时会替换掉的!你还可设得更小些,如-1.0E16