求大神指教,为什么会输出都是0;
#include<stdio.h>#define N 2
#define M 2
float student[M];
float cource[N];
float a[N][M];
int main()
{
void allscore();
void average();
void avercource();
void maxscore();
void averfc();
int a=1;
int n;
printf("please enter %d students' %d cource's score\n",N,M);
allscore();
while(a!=0)
{ printf("*******************************");
printf("\n查找每个学生平均分请输入0\n计算每门课的平均分请输入1\n找出最高分对应学生和课程请输入2\n计算平均分方差请输入3\n退出查询请输入4\n");
printf("*******************************");
printf("\n");
scanf("%d",&n);
switch(n)
{
case 0:average();break;
case 1:avercource();break;
case 2:maxscore();break;
case 3:averfc();break;
case 4:a=0;break;
}
}
return 0;
}
void allscore()//输入每个人成绩
{
int i,j;
for(i=0;i<N;i++)//N是人数,M是科目数
{
for(j=0;j<M;j++)
scanf("%f",&a[i][j]);
}
}
void average()//每个学生的平均分
{void allscore();
int i,j;
float all;
for(i=0;i<N;i++)
{ all=0;
for(j=0;j<M;j++)
{ all=all+a[i][j];
student[i]=all/M;
}
printf("stdent%f average is %f\n",i+1,student[i]);
}
}
void avercource()//每门课的平均分
{
int i,j;
float all;
for(j=0;j<M;j++)
{
for(i=0,all=0;i<N;i++)
{
all=all+a[j][i];
cource[j]=all/N;
}
printf("cource%d average is %d\n",j+1,cource[j]);
}
}
void maxscore()//出最高分数的学生和课程
{
float max;
int i,j;
max=a[0][0];
for(i=0;i<N;i++)
for(j=0;j<M;j++)
{
if(a[i][j+1]>a[i][j])
max=a[i][j+1];
}
printf("student %d score is the hightest,\nIt is course%d\nscore is %d",i+1,j+1,max);
}
void averfc()//求每个人平均分的方差
{
float fc;
float a,b;
int j;
a=0;b=0;
for(j=0,fc=0;j<N;j++)
{ a=student[j]*student[j]+a;
b=student[j]*student[j]/N+b;
}
fc=a/N-b;
printf("everybody' fc's score is %d\n",fc);
}