我在这段代码中遇到了一个奇怪的问题:
legibIndex = 206.385 - 84.6 * (countSylb / countWord) - 1.015 * (countWord / countSent);
这是给定文本文件的易读性指数的计算。
由于这是一项家庭作业,我们被告知指数应该是多少(80,或者恰好是 80.3)
我的音节数、字数和句子数都是正确的(它们与示例文本文件的给定数字相匹配。
即使我对数字进行硬编码,我也不会得到 80,尽管当我将其完全按照所见输入计算器时,我得到了 80。我无法想象出了什么问题。
这是我们得到的等式:
Index = 206.835 - 84.6 * (# syllables/# words) - 1.015 * (# words/# sentences)
正如您所看到的,我刚刚插入了我的变量(它们保存了正确的值。
作为参考,这些值是:55 个音节、40 个单词、4 个句子,由教师给出。我的程序运行时产生的值是易读性指数 112。
我是否缺少一些括号,或者什么?
我被难住了!
立即从名字(其中包括这个词count)我猜想countSylb
, countSent
and countWord
被声明为整数,因此您的除法正在进行整数算术,截断小数部分。将它们投射到漂浮物上,这应该可以解决问题。
legibIndex = 206.385 - 84.6 * ((float)countSylb / ((float)countWord) -
1.015 * (((float)countWord / ((float)countSent);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)