一个大一新生的疑问,这个程序问题在哪啊?

大佬们,这个程序为什么在输出比average大的数时这样显示啊

printf("%d\n",number);
你输出了数组的地址啊
应该是
printf("%d\n",number[i]);


 if(number[i]>average)
{
        printf("%d\n",number);    
    }  

这段有问题,number是一个数组名,也是一个地址。你这样打印可以是一个很大的数
还有就是你的main函数是有返回值的,你return ;表示没有返回值

哪呢图片

#include<stdio.h>
int main()
{ int x;
int cnt=0;
double sum=0;
int number[100];
double average;
scanf("%d",&x);
while(x!=-1){
number[cnt]=x;
sum=sum+x;
cnt++;
scanf("%d",&x);
}

if(x==-1)
    {average=sum/cnt;
}printf("%f\n",average);

int i;    
for(i=0;i<cnt;i++){
    if(number[i]>average){
        printf("%d\n",number);    
    }    
}    
    return ;



 


}    

不知道为什么发不出来图,运行结果是:
average正确;输出的大于average的数全部都是6487152