|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
#include<stdio.h>
float a[10],average,max,min;
float v(float a[10],int n);
void main()
{
int i ;
float s;
printf("input ten numbers: \n");
for(i = 0;i < 10; i++)
{
scanf("%6.3f",&a[i]);
s = v(a[i],10); //这里为什么应该是s = v(a,10)
}
printf("average = %f\n max = %f\n min = %f\n",average,max,min);
}
float v(float a[],int n)
{
int i;
float s = 0,max = min = 0.0;
s = s + a[i];
average = s / n;
for (i = 0;i < n; i++)
{
if(max < a[i])
{
max = a[i];
}
else if(min > a[i])
{
min = a[i];
}
}
}
s = v(a[i],10);这里为什么应该是s = v(a,10),有点想不通,小弟刚刚学这个,麻烦知道的大神告诉小弟下,感谢了。
你注意下v这个函数的函数声明第一个参数是float a[10],这是啥?这其实就是一个地址,所以你在调用时也应该传一个地址,a就是数组的第一个元素的地址,而你的a【i】,只不过是数组里的一个元素,是一个fpoat类型的数据
|
|