//计算每个学生、每门课程的总分和平均分
#include<stdio.h>
#define STUD_N 40
#define COURSE_N 30
void ReadScore(int score[][COURSE_N],int num[],int n)
{ //可以省略第一列,第二列不能省略
int i,j;
for(i=0;i<n;i++)
{
scanf("%ld",&num[i]);
for(j=0;j<COURSE_N;j++)
{
scanf("%d",&score[i][j]);
}
}
}
void AverForStudent(int score[][COURSE_N],int sumS[STUD_N],averS[STUD_N],int n)
{
int i,j;
for(i=0;i<n;i++)
{
sumS[i]=0;
for(j=0;j<COURSE_N;j++)
{
sumS[i]+=score[i][j];
}
averS[i]=sumS[i]/n;
}
}
void AverForScore(int score[][COURSE_N],int sumC[COURSE_N],averC[COURSE_N],int n)
{
int i,j;
for(i=0;i<COURSE_N;i++)
{
sumC[i]=0;
for(j=0;j<n;j++)
{
sumC[i]+=score[j][i];
}
averC[i]=sumC[i]/n;
}
}
int main()
{
int score[STUD_N][COURSE_N],sumS[STUD_N],sumC[COURSE_N],n;
long num[STUD_N];
float averS[STUD_N],averC[COURSE_N];
scanf("%d",&n);
ReadScore(score,num,n); //址传递
AverForStudent(score,sumS,averS,n);
AverForScore(score,sumC,averC,n);
return 0;
}
8.4向函数传递二维数组
猜你喜欢
转载自blog.csdn.net/qq_42148307/article/details/104902757
今日推荐
周排行