有疑惑,为什么输不出结果

#include<stdio.h>
int main()
{
int N,count,score,i,sum=0;



count=0;
double average;
scanf("%d",&N);

for(i=1;i<=N;i++){
    scanf("%d",&score);
    
    sum=sum+score;
}
average=sum/N;
do{
    count++;
}while(score>=60);
printf("average=%.1f\ncount=%d",average,count);
return 0;

}

我只看出了几个问题,
sum,N是整型,相除结果还是整型,没有小数部分,存放到double类型的average中小数部分全是0
double类型数据用%lf输出比较好
do-while循环条件是取决于最后一次输入的score,我觉得这个地方欠缺合理性

修改如下,供参考:

#include<stdio.h>
int main()
{
    int N, count, score, i, sum = 0;
    count = 0;
    double average;
    scanf("%d", &N);
    for (i = 1; i <= N; i++) {
        scanf("%d", &score);
        if (score >= 60) count++;
        sum = sum + score;
    }
    average = 1.0 * sum / N;
    printf("average=%.1f\ncount=%d", average, count);
    return 0;
}