代码的第四行放到第一行下面,
然后在ave这个函数定义一个float Ave变量就可以了
程序问题很多,但报错是因为你 float Ave() ; 应该是 float Ave;
你这个程序没有办法运行,因为Ave没有定义,你在main函数中定义了Ave函数,就是这里改为变量也不对,因为下面的ave函数并不能访问到。而且前面主函数中的Ave和下面的ave也没有什么关联。
感觉上你最终的目的是求输入10个数字,中间8个的平均值,而且要通过调用函数实现:
int min(a b){
return ((a<b)?a:b);
}
int max(a b){
return ((a>b)?a:b);
int main(void){
int sum i cmin cmax t;
float ave;
printf("input 10 num:\n");
scanf("%d"&t);
sum=cmin=cmax=t;
for(i=0;i<9;i++){
sum=sum+t;
cmin=min( cmin t);
cmax=max( cmax t);
sum=sum - cmax - cmin;
ave= sum*1.0/8 ;
printf("AVE is:%f" ave);
return 0;