c语言利用数组求平均数出现的问题

有没有帅哥美女帮我看看这段代码有什么问题为啥
average的输出老是0
#include
int main()
{

int sum=0;
int cnt,i,t,x; 
double average;
printf("请输入你要输入的数字的数量");
scanf("%d",&cnt);
int number[cnt];
t=cnt;
if(cnt>0){
    while(cnt>0){
        cnt--;
        scanf("%d",&x);
        number[cnt]=x;
        sum+=x;
    }
    average=sum/t;
    for(i=0;i<t;i++){
        if(average"%d,",number[i]);
        }
    printf("average=%d\n",average);
    
}
}
return 0;

}

img

sum和t都是整数,相除是整除啊。改为sum*1.0/t
另外20行%d改为%f

int sum=0;
int cnt,i,t,x; 
double average;
printf("请输入你要输入的数字的数量");
scanf("%d",&cnt);
int number[cnt];
t=cnt;
if(cnt>0){
    while(cnt>0){
        cnt--;
        scanf("%d",&x);
        number[cnt]=x;
        sum+=x;
    }
    average=sum*1.0/t;
    for(i=0;i<t;i++){
        if(average<number[i]){
            printf("%d,",number[i]);
        }
    printf("average=%f\n",average);
    
}
}
return 0;

``#include<stdio.h>
#define n 10
int main() {
int x,cnt=0;
float ave,sum=0;
int a[n];
scanf("请输入任意十个整数,以回车结束:\n");
for(x=0;x<n;x++){
scanf("%d",&a[x]);
sum+=a[x];
}
ave = sum/10;
printf("平均值为:%f\n",ave);

for(x=0;x<n;x++){
    if(a[x]>ave){
        cnt++;
    }
} 
printf("超过平均数的整数个数:%d",cnt);
return 0;

}

#include <stdio.h>
int main()
{
int sum=0;
int cnt,i,t,x; 
double average;
printf("请输入你要输入的数字的数量");
scanf("%d",&cnt);
int number[cnt];
t=cnt;
if(cnt>0){
    while(cnt>0){
        cnt--;
        scanf("%d",&x);
        number[cnt]=x;
        sum+=x;
    }
    average=(float)sum/t;
    for(i=0;i<t;i++){
        if(average<number[i]){
            printf("%d,",number[i]);
        }
    printf("average=%f\n",average);
    
}
}
return 0;
}

这段代码的问题在于:

  1. 整型 / 整型=整数,忽略小数点后面的数,例如3/2=1,而3.0/2=1.5
  2. double要用%lf
    ```c

#include<stdio.h>
int main(){
int sum=0;
int cnt,i,t,x;
double average;
printf("请输入你要输入的数字的数量:");
scanf("%d",&cnt);
int number[cnt];
t=cnt;
if(cnt>0){
while(cnt>0){
cnt--;
scanf("%d",&x);
number[cnt]=x;
sum+=x;
}
average=sum*1.0/t;
for(i=0;i<t;i++){
if(average<number[i]){
printf("%d,",number[i]);
}
printf("average=%lf\n",average);
}
}
return 0;
}

```