2017-05-27 72 views
0

我在我的C++程序中遇到了几行代码。我试图从两个数组中取值,执行一些简单的算术运算并将结果存储在第三个数组中。这里是我写的一些代码。我检查了前两个数组是否有赋值。这是我能想出的唯一问题,因为第三个数组元素都是零。C++数组运算

batAvg[i] = round((hits[i]/atBats[i]) * 1000); 

在此先感谢您的帮助!

+0

这个问题出现了很多。试试'命中[i] * 1000.0/atBats [i]'。 – dasblinkenlight

+0

感叹。 '(击中[i] * 1000 + 500)/ atBats [i]'。加500做四舍五入,全为整数。 – 1201ProgramAlarm

+0

绝对奏效!谢谢你的帮助。 – user658070

回答

0

batAvg的类型需要浮动或双倍。如果它是一个int,那么即使表达式中的所有其他值都是浮点,答案也会被截断为一个整数(几乎肯定为0)。

+0

哦,呃。我认为这是一个浮点问题,但当然这就是为什么原始代码乘以1000.对不起。 – waltman