设计一个程序处理歌手比赛成绩。

2024-12-30 03:26:57
推荐回答(3个)
回答1:

1、
program main
implicit none
integer,parameter :: la=10,lb=12
integer a(la,lb),b(2,la)
character *10 name(la)
integer i,j,min,max,num,s,temp
do i=1,la
print "('输入'i2.2'号选手的姓名:')",i
read(*,"(a10)")name(i)
b(1,i)=i
do j=1,lb
print "('输入'i2.2'号裁判对'i2.2'号选手的评分:')",j,i
read(*,*) a(i,j)
end do
end do
do i=1,la
min=1
max=1
do j=2,lb
if(a(i,j)>a(i,max))max=j
if(a(i,j) end do
a(i,min)=0
a(i,max)=0
end do
do i=1,la
b(2,i)=0
do j=1,lb
b(2,i)=b(2,i)+a(i,j)
end do
b(2,i)=b(2,i)/la
end do

do i=1,la-1
num=i
do j=i+1,la
if(b(2,j)>b(2,num))num=j
end do
s=b(2,num)
temp=b(1,num)
b(2,num)=b(2,i)
b(1,num)=b(1,i)
b(2,i)=s
b(1,i)=temp
end do

do i=1,la
print *,b(1,i),name(b(1,i)),b(2,i)
end do
end

2、
program main
implicit none
integer i,y
real z
y=0
z=1
i=1
do while(y<1e8)
call fun(y,i)
z=z+1/real(y)
i=i+1
end do
print *,z
end

subroutine fun(y,n)
integer y,n
integer i
y=1
do i=2,n
y=y*i
end do
end subroutine

3、
program main
implicit none
integer a(4,5),b(5),i,j,k
do i=1,4
do j=1,5
print "('a('i1','i1')=')",i,j
read(*,*)a(i,j)
end do
end do
call max(a,b,4,5,1)

end

subroutine max(a,b,m,n,k)
integer a(4,5),b(5),m,n,k,i,j,nmax
if(k==1) then
do i=1,5
nmax=1
do j=2,4
if(a(j,i)>a(nmax,i)) nmax=j
end do
b(i)=a(nmax,i)
print *,b(i)
end do
else
do i=1,4
nmax=1
do j=2,5
if(a(i,j)>a(i,nmax)) nmax=j
end do
b(i)=a(i,nmax)
print *,b(i)
end do
end if

end subroutine

回答2:

太烦了,会是会的

回答3:

有点烦,你准备用什么语言做?