首页 > 代码库 > P219 输入10个学生5门成绩

P219 输入10个学生5门成绩

#include<stdio.h>

#define M 10

#define N 5

int x,y;

float a[M][N],b[M],c[N];

void main()

{

 int i,j,l=0;  

int m,n;

void aver1(float a[M][N]);

 void aver2(float a[M][N]);

 float highest(float a[M][N]);

 float fangcha(float b[M]);

 float high,s;

float a[10][5];

for(m=0;m<10:m++)//输入学生成绩

{

printf("第%d个学生\n",m+1);

for(n=0;n<5;n++)

{printf("第%d个成绩\n",n+1);

scanf("%f",&a[m][n]);

}

for()

 aver1(a);  

aver2(a);  

for(i=0;i<M;i++)  

printf("第%d个学生的平均分是%.2f\n",i+1,b[i]);     //学生平均分  

for(i=0;i<N;i++)  

printf("第%d科平均分是%.2f\n",i+1,c[i]);           //科目平均分  

high=highest(a);  

printf("最高分为%.2f No.%d sub %d\n",high,x+1,y+1); //输出最高分以及学生 科目  

s=fangcha(b);  

printf("方差为%.2f\n",s);                           //输出方差

}

void aver1(float a[M][N])                            //学生平均分的函数

{

for(int i=0;i<M;i++)

 {  

float s=0;     

for(int j=0;j<N;j++)          

s+=a[i][j];     

b[i]=s/N;      

}

}

void aver2(float a[M][N])          //科目平均分的函数

{    

int i,j;  for(j=0;j<N;j++)  

{  

float s=0;  for(i=0;i<M;i++)         

s=s+a[i][j];     

c[j]=s/M;     

s=0;  

}

}

float highest(float a[M][N])        //最高分以及学生号 科目的函数

{    

float s=0;  

for(int i=0;i<M;i++)  

for(int j=0;j<N;j++)  

{  

if(*(*(a+i)+j)>s)         

s=a[i][j];      

x=i;      

y=j;  

}  

return s;

}

float fangcha(float b[M])        //方差的函数

{  

int i,j;

 float s=0;

 for(i=0;i<M;i++)

 s=s+b[i]*b[i];

 return(s/M-(s/M)*(s/M));

}

P219 输入10个学生5门成绩