关于C#或其他任何语言的词典?

时间:2018-01-16 21:23:08

标签: c# python dictionary

我正在解决这个问题并考虑过你们的建议。我是C#的新手,如果有人能提供帮助,我会非常感激。并且通过自学材料不是一个家庭作业问题。

输入:1到50之间的两个整数参数

输出:一个字典;其键是两个输入参数之间的所有整数,包括在内,其值是相应键的英文拼写中包含的字母“e”的出现次数。

例如,如果我调用CreateECountDictionary(6,11),我希望得到一个包含以下内容的字典(键,     价值)对:

(6, 0) (“six” has no ‘e’s)
(7, 2) (“seven” has two ‘e’s)
(8, 1) (“eight” has one ‘e’)
(9, 1) (“nine” has one ‘e’)
(10, 1) (“ten” has one ‘e’)
(11, 3) (“eleven” has three ‘e’)

任何以任何语言编写算法和编码的建议(C#首选)?

1 个答案:

答案 0 :(得分:2)

您应该将问题分成不同的部分。

  1. 计算字符串中特定字符数的方法(提示:您可以使用linq Count()方法)。

  2. 将整数写为英文文本表示的方法。

  3. 循环查看数字并创建文字表示,计算'并将它们放入字典中。

  4. 希望有所帮助。

    编辑:#2的一些基本(不完整)代码(在评论中要求)。

     private static readonly string[] numbers = new string[] { "zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine" };
    
     private static string GetEnglishStringFromNumber(int number)
     {
         if (number >= 0 && number < 9)
         {
             return numbers[number];
         }
         //TODO - do teens and more complex numbers.
         //TODO - negative numbers.
         throw new NotImplementedException("TODO");
     }