程序当中一共有三个错误。第一,定义的浮点数变量sum没有初始值,应该在定义的时候给他赋初始值为0。第二,循环体没有加花括号,导致只有读入语句是执行循环的,而下面的累加到sum的语句则要到循环结束以后才执行一次,起不到累加的作用。第三,格式化输入语句scanf在给float类型输入时是不能指定小数位数的(最多只能限定总位数),应该使用%f格式符。
我改成了这个样子,运行了一下是对的,请问接下来该怎么求平均分呢,要求平均分就必须要知道数组有几个数满足90分的条件,我该如何知道呢,求大神帮我解答一下
int i,count = 0;//添加一个变量计数
float a[10], avg = 0, sum = 0;//avg初始化,未初始化的话如果全是低于90分结果会溢出
printf("请输入10位学生的分数\n");
for (i = 0; i <= 9; i++) {
scanf("%f", &a[i]);
if(a[i]<90)
continue;
sum += a[i];
count++;
}
avg = sum / count;//计算平均值
printf("sum:%.2f,avg:%.2f", sum,avg);
return 0;