C++ 如何根据单词的长度和分数列出比率最高的单词

C++ 如何根据单词的长度和分数列出比率最高的单词,c++,C++,我目前有一个代码,可以打印出字典中得分最高的单词。但我想扩展它,这样它就能打印出与字长比例最高的单词。因此,我想这可以通过分数/字长来计算。在回答您的问题之前,您不需要两个(或三个)循环。在第一个循环中,您已经可以访问单词及其分数。不仅要跟踪maxscore,还要跟踪maxword。事实上,您似乎已经有了一个变量string word,可以用于此操作 因此,在第一次迭代之后,您找到了得分最高的单词,然后可以打印您想要的三条信息: 单词本身(存储在maxword中) 分数(存储在maxscore

我目前有一个代码,可以打印出字典中得分最高的单词。但我想扩展它,这样它就能打印出与字长比例最高的单词。因此,我想这可以通过分数/字长来计算。

在回答您的问题之前,您不需要两个(或三个)循环。在第一个循环中,您已经可以访问单词及其分数。不仅要跟踪
maxscore
,还要跟踪
maxword
。事实上,您似乎已经有了一个变量
string word
,可以用于此操作

因此,在第一次迭代之后,您找到了得分最高的单词,然后可以打印您想要的三条信息:

  • 单词本身(存储在
    maxword
    中)
  • 分数(存储在
    maxscore
    中)
  • 比率(可根据单词长度和分数轻松计算)

如果要打印比率最高的单词的此信息,只需在循环中调整选择标准(现在
score>maxscore
),跟踪
maxratio
,代码的其余部分非常相似。

你所说的“与单词长度比率最高的单词”是什么意思?好吧,让我们假设单词平面的分数为7。。它的比率是1.47/5。。红色这个词也有7分,但它的比例是2.3。。因此,字母较少的单词具有较高的比率…好吧,我将尝试一些方法,我的主要目标是从我的字典中获取具有最高比率的单词。因此对于
maxratio
来说,这是否可行
int maxratio=score/word.size()@jameskerr:试着一步一步地去做,按照我上面解释的顺序去做。只有在代码运行时才继续:1)通过跟踪得分最高的单词来摆脱第二个循环,2)打印3条信息,3)调整循环中的选择标准,以找到得分最高的单词,而不是得分最高的单词。嗯,“我不知道如何记录最高分的单词。@詹姆斯克尔:和记录最高分的方法一样——将其保存到变量中。”。