输入10个学生5门课程的成绩,分别用函数实现下列功能: 1.计算每个学生的平均分; 2.计算没门课的平均分; 3.找出所有50个分数中最高的分数所对应的学生的课程; 4.计算平均分方差:

输入10个学生5门课程的成绩,分别用函数实现下列功能:

1.计算每个学生的平均分;

2.计算没门课的平均分;

3.找出所有50个分数中最高的分数所对应的学生的课程;

4.计算平均分方差:

其中,xi为某一学生的平均分


#include<stdio.h>
#include"math.h"
void jisuanave(int a[2][3],int m,int n);
void jisuanave2(int a[2][3],int m,int n);
void fenshuzuigao(int a[2][3],int m,int n);
void jisuanfangcha(int a[2][3],int m,int n);
int main(){
int a[2][3]={{60,70,80},{50,60,70}};
printf("计算每个学生的平均分:\n");
jisuanave(a,2,3);
printf("计算每门课程的平均分:\n");
jisuanave2(a,3,2);
printf("分数最高:\n");
fenshuzuigao(a,2,3);
printf("计算平均分方差:\n");
jisuanfangcha(a,2,3);
return 0;
}
void jisuanave(int a[2][3],int m,int n){
int i,j,sum,ave;
for(i=0;i<m;i++){
    sum=0;
    ave=0;
for(j=0;j<n;j++){
sum=a[i][j]+sum;
}
ave=sum/n;
printf("第%d个学生的平均成绩=%d\n",i+1,ave);
}
}
void jisuanave2(int a[2][3],int m,int n){
int i,j,sum,ave;
for(i=0;i<3;i++){
    sum=0;
    ave=0;
for(j=0;j<2;j++){
sum=a[j][i]+sum;
}
ave=sum/2;
printf("第%d门课的平均成绩=%d\n",i+1,ave);
}
}
void fenshuzuigao(int a[2][3],int m,int n){
int i,j,max=0,row=0,column=0;
max=a[0][0];
for(i=0;i<m;i++){
    for(j=0;j<n;j++){
        if(a[i][j]>max){
        max=a[i][j];
        row=i;
        column=j;}
    }
}
printf("打出最高分%d,第%d个学生,课程%d\n",max,row+1,column+1);
}
void jisuanfangcha(int score[2][3],int m,int n){
    int i=0,j=0,sum=0;
   double average[2],var,x1=0,x2=0;
    for(i=0;i<2;i++)
    {
        for(j=0,sum=0;j<3;j++)
            sum=sum+score[i][j];
        average[i]=sum/3;
    }
    for(i=0;i<2;i++)
    {
        x1=x1+pow(average[i],2);
        x2=x2+average[i];
    }
    var=x1/2-pow(x2/2, 2);
    printf("方差为 %f\n", var);
}
 

猜你喜欢

转载自blog.csdn.net/weixin_37536336/article/details/85233057