1、 计算每个学生平均分;
2、 计算每科平均分 ;
3 、找出五十个分数中最高分,和对应的学生和课程;
4、求出平均分方差:σ=1/n∑xi2-(∑xi/n)2,xi为某一学生的平均分。
#include<stdio.h>
#include<string.h>
#define N 10
float a_stu[N];
int average1(int str1[][5],int m,int n);
int average2(int str1[][5],int m,int n);
int average3(int str1[][5],int m,int n);
int average4(int str1[][5],int m,int n);
int main()
{int str[10][5]={{87,88,92,67,78},{88,86,87,98,90},{76,75,65,65,78},{67,87,60,90,67},{77,78,85,64,56},{76,89,94,65,76},{78,75,64,67,77},{77,76,56,87,85},{84,67,78,76,89},{86,75,64,69,90}};int i,j;printf("每个学生的平均成绩\n"); average1(str,10,5); printf("每门课的平均成绩\n"); average2(str,10,5); average3(str,10,5); printf("某个学生的平均成绩的偏差\n"); average4(str,10,5); return 0;}
int average1(int str1[][5],int m,int n)//单个学生的平均成绩
{int i,j;float average1;for(i=0;i<m;i++){float sum=0;for(j=0;j<n;j++){sum+=str1[i][j];} a_stu[i]=sum/n;printf("%.2f\n",a_stu[i]); }}int average2(int str1[][5],int m,int n)//单门课的平均成绩
{int i,j;float average2;for(j=0;j<n;j++){float sum=0;for(i=0;i<m;i++){sum+=str1[i][j];} average2=sum/m;printf("%.2f\n",average2); }}
int average3(int str1[][5],int m,int n)
{int max=str1[0][0];int p,k,i,j;for(i=0;i<10;i++){ for(j=0;j<5;j++)if(str1[i][j]>max){max=str1[i][j];k=i+1;p=j+1;} }printf("最高分对应的学生和课程\n"); printf("max=%d,k=%d,p=%d\n",max,k,p);
}
int average4(int str1[][5],int m,int n)//某个学生的平均偏差
{int i;float sum1=0,sum2=0;float average4;for(i=0;i<m;i++){sum1+=a_stu[i];sum2+= a_stu[i]*a_stu[i];average4=sum2/m-(sum1/m)*(sum1/m);}printf("%.2f\n",average4); }