求平均成绩和优秀人数占总人数的比率

计算学生们的平均成绩,并统计优秀(成绩不低于90分)的比率。

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

 return 0;
}

如果想要小数的话,可以加一个(double)
目的就是取小数的

average=sum/(double )N; 
  rate=count/(double)N;

int a[N]你得等N输入值后才能定义
另外sum和N都是int型,所以sum/N是整除,不是你想象的浮点数,所以average = sum / N; 要改为average = sum * 1.0/ N;
rate=count/N;也是一样的问题

可以参考:


```c
#include <stdio.h>
int main()
{
    int sum=0,count=0,N;
    printf("N=");
    scanf("%d",&N);
    int a[N];
    float average,rate;
    if(N == 0) return 0; 
    for(int i=0;i<N;i++){
        printf("第%d人成绩:",i+1);
        scanf("%d",&a[i]);
        sum+=a[i];
        if(a[i]>=90) count++;
    }
    average=sum/N;
    rate=count/N;
    if(N != 0)
        average = sum / N;
    else
        average = 0;
    printf("average=%.2f\n",average);
    printf("rate=%.2f",rate);
 
 return 0;
}

```