csharp进阶练习题:抽奖活动【难度:2级】--景越C#经典编程题库,不同难度C#练习题,适合自学C#的新手进阶训练

编程知识 行业动态 更新时间:2024-06-13 00:22:33

csharp进阶练习题:抽奖活动【难度:2级】:

要参与抽奖每一个给他/她的名字.

一姓的每个字母
有一个值是其在英文字母等级. A``和有秩1,BB排名2等.

的姓名的长度* * 被加入到* 总和* 这些行列因此许多som.

随机权的数组矩阵被链接到firstnames并且每个som乘以
其相应的权重,以获得他们所称的’获胜number`.

例:


名称: "科林,AMANDBA,AMANDAB,卡罗尔,保罗,JOSEPH"
权重:[1,4,4,5,2,1]

保罗 - >索姆=姓名的长度+ 16 + 1 + 21 + 12 = 4 + 50  - > 54
与保罗相关联的* 重量* 是2,从而保罗* 中奖号码* 54 * 2 = 108.

现在,人们可以在降低获奖numbers的顺序排序firstnames.当两个
人都有同样的获奖number对它们进行排序按字母顺序* * 通过他们的firstnames.

任务:

  • 参数:st firstnames的字符串,we权重的数组矩阵,N

  • 回报:其排名参与者的名字是N
    (等级从1编号)

实施例:


名称: "科林,AMANDBA,AMANDAB,卡罗尔,保罗,JOSEPH"
权重:[1,4,4,5,2,1]
N:4

该函数将返回:"保罗"

注意:

  • 如果’st`是空返"不参加".

  • 如果n大于参与者的数量多则返回"没有足够的参与者".

  • 查看范例测试用例更多的例子.

编程目标:

public class Rank
{
    public static string NthRank(string st, int[] we, int n)
    {
        // your code
    }
}


测试样例:

using System;
using NUnit.Framework;
[TestFixture]
public static class RankTests {
[Test]
    public static void test1() {
        Assert.AreEqual("No participants", Rank.NthRank(st, we, 4));
        st = "Addison,Jayden,Sofia,Michael,Andrew,Lily,Benjamin";
        we = new int[] {4, 2, 1, 4, 3, 1, 2};
        Assert.AreEqual("Not enough participants", Rank.NthRank(st, we, 8));
        st = "Addison,Jayden,Sofia,Michael,Andrew,Lily,Benjamin";
        we = new int[] {4, 2, 1, 4, 3, 1, 2};
        Assert.AreEqual("Benjamin", Rank.NthRank(st, we, 4));


最佳答案(多种解法):

点击查看答案

更多关联题目:

csharp基础练习题:温度分析我【难度:1级】–景越C# 经典编程题库,不同难度C# 练习题,适合自学C# 的新手进阶训练

免责申明

本博客所有编程题目及答案均收集自互联网,主要用于供网友学习参考,如有侵犯你的权益请联系管理员及时删除,谢谢
题目收集至https://www.codewars/
https://www.codewars/kata/prize-draw

更多推荐

csharp进阶练习题:抽奖活动【难度:2级】--景越C#经典编程题库,不同难度C#练习题,适合自学C#的新手进阶训练

本文发布于:2023-04-02 17:56:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/16e62d1d3115a6078f07dc00f1af8711.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:进阶   练习题   难度   题库   抽奖活动

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!