学生成绩录入 求解答哪错了?
程序代码:#include"stdio.h"
#include"math.h"
float pstu_average(float af[10],float stu_subf[5][10]);
float psub_average(float bf[5],float stu_subjf[5][10]);
float sub_maxpoint(int cf[2],float stu_subjef[5][10]);
float square_cut(int kf,float stu_subjectf[5][10]);
float k,a[10]={0},b[5]={0},c[2]={0},stu_sub[5][10];
int x;
main()
{
int i,j;
printf("请输入每个学生单科成绩");
for(i=0;i<=4;i++)
{
for(j=0;j<=9;j++)
scanf("%5f",&stu_sub[i][j]);
printf("\n");
}
printf("0代表求每个学生的平均分\n");
printf("1代表求每科目的平均分\n");
printf("2代表求所有分数中的最高分所对应的学生和科目\n");
printf("3代表求所有学生平均分的方差\n");
printf("请输入你要进行的操作");
printf("\n");
scanf("%d",&x);
if(x==0)
{
pstu_average(a,stu_sub);
for(i=0;i<=9;i++)
printf("%5.3f",a[i]);
}
else if(x==1)
{
psub_average(b,stu_sub);
for(i=0;i<=4;i++)
printf("%5.3f",b[i]);
}
else if(x==2)
{
sub_maxpoint(c,stu_sub);
printf("学生与课程标号分别为");
for(i=0;i<=1;i++)
printf("%3d",c[i]);
}
else if(x==3)
{
square_cut(k,stu_sub);
printf("平均方差为%f",k);
}
/*函数一求每个学生的平均分*/
float pstu_average(float af[10],float stu_subf[5][10])
{
float sumstu=0;
int i,j,n=0;
for(i=0;i<=9;i++)
{
for(j=0;j<=4;j++)
{
sumstu=sumstu+stu_subf[j][i];
af[n++]=sumstu/5;
}
sumstu=0;
}
}
/*函数二:求每科目的平均分*/
void float psub_average(float bf[5],float stu_subf[5][10])
{
float sumsub=0;
int i,j;
for(i=0;i<=4;i++)
{
for(j=0;j<=9;j++)
{
sumsub=sumsub+stu_subjf[i][j]);
bf[i]=sumsub/10;
}
sumsub=0;
}
/*函数三:求所有分数中最高分对应的学生和科目*/
float sub_maxpoint(int c[2],float stu_subjef[5][10])
{
int i,j,max;
max=stu_subjef[0][0];
for(i=0;i<=4;i++)
for(j=0;j<=9;j++)
if(stu_subjef[i][j]>max)
{
max=stu_subjef[i][j];
c[0]=i;
c[1]=j;
}
}
/*函数四:求平均分的方差*/
float square_cut(int kf,float stu_subjectf[5][10])
{
int i,j,t[10]={0},sumpstu=0;sumpsub=0;
float pstu_average(float af[10],float stu_subf[5][10]);
pstu_average(t,stu_subjectf);
for(i=0;i<=9;i++)
sumpstu=sumpstu+pow(t[i],2);
for(j=0;j<=9;j++)
sumpsub=sumpsub+t[j];
kf=sumpstu/10-pow(sumpsub,2)/100;
return kf;
}
大概都是相似的错误 求高手指点 先谢了









