当这个程序返回平均值时,每次都是零,我没有正确地将值传递给average()函数吗?我不知道要修复什么,因为我尝试切换数据类型并输出%f。
我不想为我完成代码,只需要一些指导。感谢任何可以提供帮助的人。为什么我的用户定义数组的平均值不正确? C
#include <stdio.h>
float average(float arr[], float num) {
for (z = 0; z < num; ++z) {
sum = arr[z]+1;
}
avg = sum/num;
return avg;
}
int main(){
int count;
int a;
float initial[a];
float avg;
avg = average(initial, a);
printf("enter number of values you'd like averaged.\n ");
scanf("%i",&a);
count = a;
printf("enter numbers you'd like averaged\n");
for(a= 0; a < count; a++)
{
scanf("%f",&initial[a]);
}
printf("The average is %d",avg);
return 0;
}
这是不可读的。正确缩进和格式化代码。 – Olaf
我没有看到任何平均值。它只是添加到数组元素.. –
您的平均功能是错误的。它总是会返回'(arr [num] + 1)/ num'。 –