自定义函数问题。。帮帮忙。。。
我写的这个最后的结果都是0.00,不知道哪里错了。。。
程序代码:#include<stdio.h>
#define N 10
#define M 5
float a1,a2,a3,a4,a5,a6,a7,a8,a9,a10;
float b1,b2,b3,b4,b5;
int m,n;
float x;
float a[N][M];
void input(void)//输入成绩
{
int i,j;
for(i=0;i<N;i++)
{
printf("请输入第%d个学生的五门成绩:",i+1);
for(j=0;j<M;j++)
scanf("%d",&a[i][j]);
}
}
void stu_a(void)//计算每个学生的平均分
{
int i,j;
float k=0.0;
for(i=0;i<N;i++)
{
for(j=0;j<M;j++)
k+=a[i][j];
if(i==0)a1=k/M;
else if(i==1)a2=k/M;
else if(i==2)a3=k/M;
else if(i==3)a4=k/M;
else if(i==4)a5=k/M;
else if(i==5)a6=k/M;
else if(i==6)a7=k/M;
else if(i==7)a8=k/M;
else if(i==8)a9=k/M;
else if(i==9)a10=k/M;
k=0.0;
}
}
void cou_a(void)//计算每门课的平均分
{
int i,j;
float k;
k=0.0;
for(i=0;i<N;i++)
{
for(j=0;j<M;j++)
k+=a[i][j];
if(i==0)b1=k/N;
else if(i==1)b2=k/N;
else if(i==2)b3=k/N;
else if(i==3)b4=k/N;
else if(i==4)b5=k/N;
k=0.0;
}
}
float high_sco(void)//找出最高分数及对应的学生和课程
{
int i,j;
float high;
high=(float)a[0][0];
for(i=0;i<N;i++)
{
for(j=0;j<M;j++)
if(a[i][j]>high)
{high=(float)a[i][j],m=i,n=j;}
}
return high;
}
void f(float x)//计算平均分方差
{
x=(a1*a1+a2*a2+a3*a3+a4*a4+a5*a5+a6*a6+a7*a7+a8*a8+a9*a9+a10*a10)/N-((a1+a2+a3+a4+a5+a6+a7+a8+a9+a10)/N)*((a1+a2+a3+a4+a5+a6+a7+a8+a9+a10)/N);
}
void main()
{
printf("请输入10个学生五门课程的成绩\n");
input();
stu_a();
cou_a();
printf("stu_1平均分为%.2f\nstu_2平均分为%.2f\nstu_3平均分为%.2f\nstu_4平均分为%.2f\nstu_5平均分为%.2f\nstu_6平均分为%.2f\nstu_7平均分为%.2f\nstu_8平均分为%.2f\nstu_9平均分为%.2f\nstu_10平均分为%.2f\n",a1,a2,a3,a4,a5,a6,a7,a8,a9,10);
printf("cou_1平均分为%.2f\ncou_2平均分为%.2f\ncou_3平均分为%.2f\ncou_4平均分为%.2f\ncou_5平均分为%.2f\n",b1,b2,b3,b4,b5);
printf("最高分为%.2f,是stu_%d,是cou_%d课程\n",high_sco(),m+1,n+1);
printf("平均分方差为%.2f\n",x);
}








