(我想编写一个代码来计算数组元素的总和和平均值)我想找出错误平均结果的原因,其中平均值可能是浮点数,所以我进行了强制转换以使用以下方法将结果转换为浮点数(float)sum)/size.
注意:我知道如果我确定变量平均值这个问题将得到解决
float average = (float)sum/arr_size;
printf("The average of the array elements is: %f\n", average);
Run Code Online (Sandbox Code Playgroud)
但我需要分析我错误的平均输出
#include<stdio.h>
#define size 5
int main(void)
{
int i,sum=0;
int arr[size];
printf("please enter array elements: \n");
// for loop to scant element elemnt of array
for(i=0;i<size;i++)
{
scanf("%d",&arr[i]);
}
// sum of array
for(i=0;i<size;i++)
{
sum+=arr[i];
}
// print sum after fishing
printf("the summation is : %d \n",sum);
// average of array
printf("The average of array : %d",(((float)sum)/size));
return 0;
}
Run Code Online (Sandbox Code Playgroud)
您投射((float)sum))但仍在%d您的printf. 使用%f并添加换行符。
printf("The average of array : %f\n", (((float)sum)/size));
Run Code Online (Sandbox Code Playgroud)