#include<stdio.h>
int main(){
int i,x,count=0;
double a[i],average,sum=0;
scanf("%d",&x);
if(x>=0){
if(x==0){
printf("average = 0\n");
printf("count = 0");
}
else{
for(i=1;i<=x;i++){
scanf("%lf",&a[i]);
sum = sum + a[i];
if(a[i]>=60){
count++;
}
}
average = sum/x;
printf("average = %.1lf\n",average);
printf("count = %d",count);
}
}
return 0;
}
int i,x,count=0;
double a[i],此时i没有赋值,数组a的大小未知,看编译器的处理。gcc会处理成a[0],因此后面的数组运算都不成立。
动态数组用malloc
int x
scanf("%d",&x);
double *a=(double *)malloc(sizeof(double)*x);
for(i=0;i<x;i++) //数组下标是0-(x-1)
scanf("%lf",&a[i]);
好的谢谢您