计算学生们的平均成绩,并统计优秀(成绩不低于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;
}
```