计算比赛算积分的问题

有N个队参加比赛,根据比赛名次加分,名次可能有并列的。N个队按名次分1~A,A+1~B,B+1~C,C+1~N四组,名次在第一组的加5分,第二组加3分,第3组加1分,第四... 有N个队参加比赛,根据比赛名次加分,名次可能有并列的。N个队按名次分1~A,A+1~B,B+1~C,C+1~N四组,名次在第一组的加5分,第二组加3分,第3组加1分,第四组加0分。但现在有并列名次,加分应该均分。例如,18个队,按5,5,4,4分成四组。但现在并列第一名有7个(二到七名就没有了),并列第8名有8个(9到15名就没有了),再是并列第16名3个。
那么并列第一名的7个队每队加分为(5+5+5+5+5+3+3)/7;
并列第8名的7个队每队加分为(3+3+3+1+1+1+1+0)/8
并列16名的三个队每队加分就只有(0+0+0)/3
请问这种算法怎么写一个通用的算法。
您没理解我的意思。请看每队得分的计算例子。

"要是2个第一 2个第二 2个第三 。。。 2个第九 怎么办?
是4个第一组还是6个第一组? "
那就不是你所说的了,而是2个第一,2个第三,2个第五…了
展开
 我来答
创作者lDHSsGAJ5i
2019-05-18 · TA获得超过3576个赞
知道小有建树答主
回答量:3052
采纳率:28%
帮助的人:242万
展开全部
这个不需要算法呀..或是自己编写一个函数也行..
思路就是.全局变量有N个队
然后读取这个N个队的比分到数组x中,
N个队的名称到数组y,然后让数组x按逆序排序,
也就是比分最高的排在前面.在排序过程中同步对y进行排序.让x和y是一一对应的.
然后根据你的分组信息..比如你的5544.就
for
i=1
to
ubound(数组y)-1
if
i<=5
then
print
"a组有"
&
数组y(i),
if
i>5
and
i<=10
then
print
"b组有"
&
数组y(i),
if
i>10
and
i<=14
then
print
"c组有"
&
数组y(i),
if
i>14
and
i<=18
then
print
"d组有"
&
数组y(i),
next
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
VB妮可
2007-09-26 · TA获得超过3333个赞
知道大有可为答主
回答量:2574
采纳率:0%
帮助的人:0
展开全部
这个不需要算法呀..或是自己编写一个函数也行..

思路就是.全局变量有N个队
然后读取这个N个队的比分到数组x中, N个队的名称到数组y,然后让数组x按逆序排序, 也就是比分最高的排在前面.在排序过程中同步对y进行排序.让x和y是一一对应的.

然后根据你的分组信息..比如你的5544.就
for i=1 to ubound(数组y)-1
if i<=5 then print "a组有" & 数组y(i),
if i>5 and i<=10 then print "b组有" & 数组y(i),
if i>10 and i<=14 then print "c组有" & 数组y(i),
if i>14 and i<=18 then print "d组有" & 数组y(i),
next
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
酒伟允琳瑜
2020-06-30 · TA获得超过1128个赞
知道小有建树答主
回答量:2701
采纳率:100%
帮助的人:14.7万
展开全部
这个不需要算法呀..或是自己编写一个函数也行..
思路就是.全局变量有N个队
然后读取这个N个队的比分到数组x中,
N个队的名称到数组y,然后让数组x按逆序排序,
也就是比分最高的排在前面.在排序过程中同步对y进行排序.让x和y是一一对应的.
然后根据你的分组信息..比如你的5544.就
for
i=1
to
ubound(数组y)-1
if
i<=5
then
print
"a组有"
&
数组y(i),
if
i>5
and
i<=10
then
print
"b组有"
&
数组y(i),
if
i>10
and
i<=14
then
print
"c组有"
&
数组y(i),
if
i>14
and
i<=18
then
print
"d组有"
&
数组y(i),
next
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
时甜章佳以莲
2019-02-15 · TA获得超过1132个赞
知道小有建树答主
回答量:2677
采纳率:100%
帮助的人:15万
展开全部
网球比赛每一局的得分不是以我们常用的1,2,3分来计算,而是赢得一个球时,计算为15分?例如在某一局,某选手连续得分,他的分数计算为15比0,30比0,40比0,最后胜出这一局.
和圆形有密切的关系。一盘6局,把圆6等分,每份60度;每局4分,把60再4等分,成每份15。虽然规则现在看来很别扭,但是当时确实是如此规定出来的。
之所以现在是15-30-40-一局,而不是45,已经有人说了,因为英语forty-five由两个单词合成,报分时节奏不对,因此改成forty(40)。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
j_s_s911
2007-09-27 · TA获得超过563个赞
知道小有建树答主
回答量:292
采纳率:0%
帮助的人:224万
展开全部
要是2个第一 2个第二 2个第三 。。。 2个第九 怎么办?
是4个第一组还是6个第一组?
要是4个第一组 那第一组的得分 (5+5+5+5)/4=5
要是六个第一组 那得分是(5+5+5+5+5+3)/6=4.67
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式