五门成绩怎么用c语言表示,输入10个学生5门课的成绩 分别用函数实现下列功能...

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

1、计算每个学生平均分

2、计算每门课程的平均分

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

4、计算平均分方差:

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

f188c88c62cfc51fd563854add203e01.png

【c源程序】

#include

#define N 10

#define M 5

float score[N][M];

float a_stu[N],a_cour[M];

int r,c;

int main()

{ int i,j;

float h;

float s_var(void);

float highest();

void input_stu(void);

void aver_stu(void);

void aver_cour(void);

input_stu();

aver_stu();

aver_cour();

printf("\n  NO.     cour1   cour2   cour3   cour4   cour5   aver\n");

for(i=0;i

{printf("\n NO %2d ",i+1);

for(j=0;j

printf("%8.2f",score[i][j]);

printf("%8.2f\n",a_stu[i]);

}

printf("\naverage:");

for (j=0;j

printf("%8.2f",a_cour[j]);

printf("\n");

h=highest();

printf("highest:%7.2f   NO. %2d   course %2d\n",h,r,c);

printf("variance %8.2f\n",s_var());

return 0;

}

void input_stu(void)

{int i,j;

for (i=0;i

{printf("\ninput score of student%2d:\n",i+1);

for (j=0;j

scanf("%f",&score[i][j]);

}

}

void aver_stu(void)

{int i,j;

float s;

for (i=0;i

{for (j=0,s=0;j

s+=score[i][j];

a_stu[i]=s/5.0;

}

}

void aver_cour(void)

{int i,j;

float s;

for (j=0;j

{s=0;

for (i=0;i

s+=score[i][j];

a_cour[j]=s/(float)N;

}

}

float highest()

{float high;

int i,j;

high=score[0][0];

for (i=0;i

for (j=0;j

if (score[i][j]>high)

{high=score[i][j];

r=i+1;

c=j+1;

}

return(high);

}

float s_var(void)

{int i;

float sumx,sumxn;

sumx=0.0;

sumxn=0.0;

for (i=0;i

{sumx+=a_stu[i]*a_stu[i];

sumxn+=a_stu[i];

}

return(sumx/N-(sumxn/N)*(sumxn/N));

}

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值