//向函数传递二维数组问题实例
#include<stdio.h>
#define student_N 40
#define course_N 3
void ReadScore(int score[][course_N],long num[],int n);
void AverforStud(int score[][course_N],int sum[],int n,float aver[]);
void Averforcourse(int score[][course_N],int sum[],int n,float aver[]);
void Print(int score[][course_N],
long num[],int sumS[],
float averS[],int sumC[],float averC[],int n);//调用函数时(注意函数形参与调用函数时的变量互相对应)
int main()
{
int score[student_N][course_N],
sumS[student_N],sumC[course_N],n;
long num[student_N];
float averS[student_N],averC[course_N];
printf("input the total number of the students:");
scanf("%d",&n);
ReadScore(score,num,n); //成绩,人数,学号读入
AverforStud(score,sumS,n,averS);//计算每个学生总分平均分
Averforcourse(score,sumC,n,averC); // 科目平均分
Print(score,num,sumS,averS,sumC,averC,n);
//Print(num,score,sumS,averS,sumC,n,averC); //成绩输出
return 0;
}
void ReadScore(int score[][course_N],long num[],int n)
{
printf("input student ID and score as:MT EN PH:\n");
for(int i=0;i<n;i++)
{
scanf("%ld",&num[i]);
for(int j=0;j<course_N;j++)
{
scanf("%d",&score[i][j]);
}
}
}void AverforStud(int score[][course_N],
int sum[],int n,float aver[])
{
for(int i=0;i<n;i++)
{
sum[i]=0;
for(int j=0;j<course_N;j++)
{
sum[i]=sum[i]+score[i][j];
}
aver[i]=(float)sum[i]/course_N;
}
}
void Averforcourse(int score[][course_N],
int sum[],int n,float aver[])
{
for(int j=0;j<course_N;j++)
{
sum[j]=0;
for(int i=0;i<n;i++)
{
sum[j]=sum[j]+score[i][j];
}
aver[j]=(float)sum[j]/n;
}
}
//计算每门课程的平均分和总分
void Print(int score[][course_N],
long num[],int sum[],int sumS[],int n,
float averC[],float averS[],int sumC[])
{
int i,j;
printf("student ID\t MT\t EN\t PH\t SUM\t AVER\t");
for(i=0;i<n;i++)
{
printf("%12ld",num[i]);
//学号打印
for(j=0;j<=course_N;j++)
{
printf("%4d\t",score[i][j]);
}
printf("%4d\t %5.lf\n",sumS[i],averS[i]);
printf("SumofCourse\t");
for(j=0;j<=course_N;j++)
{
printf("%4d\t",sumC[j]);
}
printf("\nAverforcourse\t");
for(j=0;j<=course_N;j++)
{
printf("%4.lf\t",averC[j]);
}
printf("\n");
}
}
向函数传递二维数组问题(实例)
猜你喜欢
转载自blog.csdn.net/CSDN447447LJH/article/details/91449870
今日推荐
周排行