实际输出的小数点后第5位数字与预期输出的小数点后第5位数字不同。
输出:558.29498预期:558.29496
double findMaxAverage(int* nums, int numsSize, int k){
float maxSum = -2147483648;
float currentSum = 0;
for(int i=0; i < numsSize; i++){
currentSum += nums[i];
if(i >= k - 1){
if(currentSum > maxSum) maxSum = currentSum;
currentSum -= nums[i - (k - 1)];
}
}
return maxSum/k;
}
字符串
我试着这么做-
return (double)maxSum/k;
型
请帮我一下。
1条答案
按热度按时间k2arahey1#
不要通过使用
float
然后将其强制转换为double
而放弃精度。开始使用双精度浮点数。字符串