首页 > 代码库 > 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门成绩