10st运行不了 已经确定问题出在了控制循环的条件,(a[i]>=0),当我用if-break;书写时能运行这是为什么
解题思路:1.利用循环结构录入成绩,累加器i计算学生人数
2.调用函数getaverage求学生成绩的平均分
我想要达到的结果
#include "stdio.h"
int GetAboveAver(int score[], int n)
{
int i,sum=0;
for(i=0;i<n;i++)
{
sum+=score[i];
}
return sum/n;
}
int main()
{
int a[40]={0},k=0,j,i,ave;
for(i=0;a[i]>=0;i++)
{
scanf("%d" ,&a[i]);
}
printf("Total students are %d\n",i);
ave=GetAboveAver(a,i);
for(j=0;j<i;j++)
{
if(a[j]>ave)
k++;
}
printf("Students of above average is %d\n",k);
}
以下为同思路可以运行的if-break;
#include "stdio.h"
int GetAboveAver(int score[], int n)
{
int i,sum=0;
for(i=0;i<n;i++)
{
sum+=score[i];
}
return sum/n;
}
int main()
{
int a[40]={0},k=0,j,i,ave;
for(i=0;;i++)
{
scanf("%d" ,&a[i]);
if(a[i]<0)
break;
}
printf("Total students are %d\n",i);
ave=GetAboveAver(a,i);
for(j=0;j<i;j++)
{
if(a[j]>ave)
k++;
}
printf("Students of above average is %d\n",k);
}