这个程序错在哪?为什么运行时候老是不准确(问题出在最后一个函数)?

#include<stdio.h>
main()
{
int a[30];
int i,j;
void bujige(int a[],int b);
void pingjunfen(int a[],int b);
void stu(int a[],int b);
do
{
printf("Please input the grades(以负值结束):");
for(i=0;;i++)
{
scanf("%d",&a[i]);
if(a[i]<0) break;
if(a[i]>100) break;
}
}while(a[i]>100);

for(j=0;j<i;j++)
printf("%d ",a[j]);

printf("\n");
bujige(a,j);
pingjunfen(a,j);
stu(a,j);
return 0;
}

void bujige(int a[],int b)
{
int i,m;
for(i=0,m=0;i<b;i++)
{
if(a[i]<60)
{
printf("%d ",a[i]);
m++;
}
}
printf("\n一共有以上%d个人不及格\n",m);
}

void pingjunfen(int a[],int b)
{
int i,m,average;
average=0;
for(i=0;i<b;i++)
average=average+a[i];
average=average/b;
for(i=0,m=0;i<b;i++)
{
if(a[i]>=average)
{
printf("%d ",a[i]);
m++;
}
}
printf("\n一共有以上%d个人达到平均分\n",m);
}

void stu(int a[],int b)
{
int c,m;
float k;
for(c=0,m=0;c<b;c++)
{
if(a[c]<60)
m++;
}
k=m/b;
printf("分数段在60分以下的有%d人,占总人数的%2f;\n",m,k);
}

错误代码是什么??解释也行追问

编译没有错误,就是运行答案错误

追答

你知道运行答案。。那还编程干吗。。。表示无能为力。抱歉。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-03-01
相似回答