求帮忙,有不解
一个班有N名学生,每个学生修了五门课。 1)求每个学生的平均成绩,并输出每个学生的学号,每门课程的成绩及平均值。 2)求某门课程的平均分; 1、分别编写2个函数实现以上2个要求。 2、第1个函数用数组名作参数。第2个函数用指针用参数,并在函数体内用指针对数组操作。下面这个程序编译正确,但连接错误,我不知道原因,希望可以给我解释一下
#include<stdio.h>
void averscore(int a[10][10],float b[10]);
float avercourse( int(*psco)[10],int n);
void main()
{
long num[10];int sco[10][10];float avsco[10];float aver; int n,N;
int i,j;
scanf("%d",&N);
for(i=0;i<N;i++)
{
scanf("%ld",&num[i]);
for(j=0;j<N;j++)
{
scanf("%d",&sco[i][j]);
}
}
averscore(sco,avsco);
for(i=0;i<N;i++)
{
printf("%d\t",num[i]);
for(j=0;j<N;j++)
{
printf("%d\t",sco[i][j]);
}
printf("%.1f\t",avsco[i]);
}
scanf("%d",&n);
aver=avercourse(sco,n) ;
printf("\n");
printf("%d",n);
printf("%.1f",aver);
getchar();
}
void averscore(int a[10][10],float b[10],int N)
{
int i,j;
for(i=0;i<N;i++)
for(j=0;j<N;j++)
b[i]+=a[i][j];
for(i=0;i<N;i++)
b[i]=b[i]/N;
}
double avercourse( int(*psco)[10],int n,int N)
{
int sum=0;
float pjun;
int i;
for(i=0;i<N;i++)
sum=sum+(*(*(psco+i)+n-1));
pjun=(float)sum/(float)N;
return pjun;
}