C 除法后的错误结果
在一个练习中,我必须给一个函数一个数组和它的大小,以得到它的平均值。 所以我试过这个:C 除法后的错误结果,c,division,C,Division,在一个练习中,我必须给一个函数一个数组和它的大小,以得到它的平均值。 所以我试过这个: #include <stdio.h> #include <stdlib.h> double average(double array[], double array_size); int main() { double array[4] = {12.0, 20.0, 8.9, 14.7}; printf("The average of the array is
#include <stdio.h>
#include <stdlib.h>
double average(double array[], double array_size);
int main()
{
double array[4] = {12.0, 20.0, 8.9, 14.7};
printf("The average of the array is : %lf\n", average(array, 4.0));
return 0;
}
double average(double array[], double array_size)
{
int array_average = 0, i = 0;
while(i < array_size)
{
array_average += array[i];
i++;
}
return array_average / array_size;
}
#包括
#包括
双平均(双数组[],双数组大小);
int main()
{
双数组[4]={12.0,20.0,8.9,14.7};
printf(“数组的平均值为:%lf\n”,平均值(数组,4.0));
返回0;
}
双平均(双数组[],双数组大小)
{
int数组_平均值=0,i=0;
while(i<数组大小)
{
数组_average+=数组[i];
i++;
}
返回数组\平均值/数组\大小;
}
我敲打文件并运行./a.out,当我用计算器计算平均值时,返回13.500000而不是13.9
我不知道哪里有错误,谢谢你的帮助 如果这对以后的人有帮助,我会发布我的最终代码
#include <stdio.h>
#include <stdlib.h>
double average(double array[], double array_size);
int main()
{
double array[4] = {12.0, 20.0, 8.9, 14.7};
printf("The average of the array is : %lf\n", average(array, 4.0));
return 0;
}
double average(double array[], double array_size)
{
double array_average = 0.0;
int i = 0;
while(i < array_size)
{
array_average += array[i];
i++;
}
return array_average / array_size;
}
#包括
#包括
双平均(双数组[],双数组大小);
int main()
{
双数组[4]={12.0,20.0,8.9,14.7};
printf(“数组的平均值为:%lf\n”,平均值(数组,4.0));
返回0;
}
双平均(双数组[],双数组大小)
{
双数组_平均值=0.0;
int i=0;
while(i<数组大小)
{
数组_average+=数组[i];
i++;
}
返回数组\平均值/数组\大小;
}
为什么您的数组大小是双倍的?为什么你的数组\u平均值是整数?(int)12.0+(int)20.0+(int)8.9+(int)14.7
与12+20+8+14
相同。。。而54/4.0
是13.5
,不要忘记将array\u size
设置为int
。在英语中,数组没有性别。您仍然没有将array\u size设置为整数