有4个学生,每个学生有3门课程,每门课程的学分不一样。请计算每一个学生的加权平均成绩。
#include<stdio.h>
#define N 3 //N门课程
//float aver(int x[],int y[])为什么c语言中此处不声明也能够编译通过?
int main()
{
int scores[4][N]={{82,87,99},{96,98,97},{89,90,91}};
int credit[N]={3,4,2},i;
float aver(int *,int *),p;
for(i=0;i<4;i++)
{
p=aver(scores[i],credit);
printf("第%d个学生的加权平均成绩为:%.2f\n",i+1,p);
}
return 0;
}
float aver(int x[],int y[])
{
int n,sum1=0,sum2=0;
for(n=0;n<N;n++)
{
sum1+=x[n]*y[n];
sum2+=y[n];
}
return ((float)sum1/sum2);
}