在输入十个学生的成绩,求平均分,并将低于平均分的成绩输出时,出现了一个数组下标类型不对的问题。
出现错误原因是:循环体中的i在进行类型定义时,定义为float型,所以报错,只需要将i改成int型即可。(当时是用devc++进行编译的,一直显示是a[i]的错误,后来换一个编译器VC,然后指出是int i类型问题)
改正:
附源码
#include<cstdio>
int main(){
float a[10];
float sum,ave;
int i;
sum = 0;
printf("请输入十个成绩:\n");
for(i=0;i<10;i++){
scanf("%f",&a[i]);
sum = sum+a[i];
}
ave = sum/10;
printf("10名同学的平均成绩为:%.2f\n",ave);
printf("低于平均成绩的分数是:\n");
for(i=0;i<10;i++){
if(a[i]<ave)
printf("%.2f\n",a[i]);
}
return 0;
}