为什么 C 给我的答案与我的计算器不同?

2024-04-22

我在这段代码中遇到了一个奇怪的问题:

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(使用前将#替换为@)

为什么 C 给我的答案与我的计算器不同? 的相关文章

随机推荐