我拿错了?我感觉没错啊

统计指定数量学生的平均成绩与不及格人数
本题要求编写程序,计算学生们的平均成绩,并统计不及格(成绩低于60分)的人数。题目保证输入与输出均在双精度范围内。
输入格式:

输入在第一行中给出非负整数n,即学生人数。第二行给出n个非负实数,即这n位学生的成绩,其间以空格分隔。

输出格式:

average = 成绩均值

count = 不及格人数

其中平均值精确到小数点后两位,等号的左右各有一个空格。

输入样例1:

4
60 54 95 73
结尾无空行
输出样例1:

average = 70.50
count = 1
输入样例2:

0
结尾无空行
输出样例2:

average = 0.00
count = 0

#include"stdio.h"
main(){
int n;
scanf("%d\n",&n);
int count,i;
float average,a[n],sum;
scanf("%f",&a[n]);
sum=0;
count=0;
for(i=0;i<n;i++){
sum=sum+a[i];
}
average=sum/n;
for(i=0;i<n;i++){
if(a[i]>60){
count++;
}
}
printf("average = %.2f\n",average);
printf("count = %d",count);
}

双精度范围内,那不得用double吗?还有,数组长度能是变量?

#include <stdio.h>
int main() {
    int n;
    scanf("%d", &n);
    int count, i;
    double average, a[n], sum;
    for(i = 0; i < n; i++) {
        scanf("%lf", &a[i]);
    }
    sum = 0;
    count = 0;
    for(i = 0; i < n; i++) {
        sum = sum + a[i];
    }
    average = sum / n;
    for(i = 0; i < n; i++) {
        if(a[i] < 60) {
            count++;
        }
    }
    printf("average = %.2f\n", average);
    printf("count = %d", count);
}

第一你不能用变量来定义数组长度,
第二你得用一个for循环来输入数组,scanf里是a[i]
第三count是不及格的人数,if 里应该是a[i]<60

#include"stdio.h"
int main(){
int n;
scanf("%d\n",&n);
int count,i;
float average,a[1000],sum;
for(i=0;i<n;i++)
scanf("%f",&a[i]);
sum=0;
count=0;
for(i=0;i<n;i++){
sum=sum+a[i];
}
average=sum/n;
for(i=0;i<n;i++){
if(a[i]<60){
count++;
}
}
printf("average = %.2f\n",average);
printf("count = %d",count);
}
你可以参考一下这个

除了上面的还有没写n=0的情况