
设计一个程序处理歌手比赛成绩。
有30个歌手参加比赛,12位评委和现场观众进行评分;记分办法:对于12位评委的分值,去掉一个最高分,去掉一个最低分,再按中间10位评委的分数计算评委平均分。每位歌手唱两首...
有30个歌手参加比赛,12位评委和现场观众进行评分;记分办法:对于12位评委的分值,去掉一个最高分,去掉一个最低分,再按中间10位评委的分数计算评委平均分。
每位歌手唱两首歌,第一首歌曲是必选歌曲(即在事先公布的歌曲名单中选择一首),该歌曲的最后分数还要乘以系数1.05;第二首为自选歌曲。歌手的最后得分为两首歌曲的最后分值之和。
要求:
(1)每位歌手演唱完两首歌曲后,工作人员将他(她)两首歌曲的相关信息(歌手编号、歌手姓名、歌曲名称、各项得分)从键盘输入,而且要求程序将这些信息写入文本文件备日后查用.
(2)对歌手按得分从高到低排序;按得分从高到低排序输出歌手编号、姓名与得分,并保存到文
希望提供完整思路和具体代码。。好的话追加分 展开
每位歌手唱两首歌,第一首歌曲是必选歌曲(即在事先公布的歌曲名单中选择一首),该歌曲的最后分数还要乘以系数1.05;第二首为自选歌曲。歌手的最后得分为两首歌曲的最后分值之和。
要求:
(1)每位歌手演唱完两首歌曲后,工作人员将他(她)两首歌曲的相关信息(歌手编号、歌手姓名、歌曲名称、各项得分)从键盘输入,而且要求程序将这些信息写入文本文件备日后查用.
(2)对歌手按得分从高到低排序;按得分从高到低排序输出歌手编号、姓名与得分,并保存到文
希望提供完整思路和具体代码。。好的话追加分 展开
3个回答
展开全部
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)<a(i,min))min=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
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)<a(i,min))min=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
追问
天书额,强人,,能稍微解释一些不,,我们是实践报告,要总体设计和具体设计,就是说明每一步干的啥,,,,好人帮到底吧,大哥,T^T
展开全部
太烦了,会是会的
追问
别啊,,,就当积累人品嘛,,明天周末呀,,,真的很急,,sos。。。sos
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
有点烦,你准备用什么语言做?
追问
西佳佳啦,拜托了,,快shi了。。。sos
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询