| 
 | 
 
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册  
 
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类型的数据 
 
 
 |   
 
 
 
 |