答案:
输入10个学生5门课的成绩,分别用函数实现下列功能:
(1)编写函数计算每个学生的平均分;
(2)编写函数计算每门课的平均分;
(3)编写函数出所有50个分数中最高的分数所对应的学生和课程;
(4) 计算平均分方差。
可视化
#include<stdio.h>
#include<windows.h>
main()
{
int i,j,li=0,lj=0;
float score[10][5],average[10],a1,a2,a3,a4,a5,largest=0,fc=0,a=0;
//score是50个学生的成绩,average是5门课的平均成绩,a1-a5分别是5门课的平均成绩,li是最高分的学生
//lj是最高分的学科,largest是最高分,fc是平均分方差,a是50个成绩的平均分
printf("请输入10个学生的成绩,按照语文、数学、英语、物理、化学的顺序依次输入:\n");
for(i=0;i!=10;++i)
{
printf("第%d个学生:\n",i+1);
for(j=0;j!=5;++j)
{
scanf("%f",&score[i][j]);
if(largest<score[i][j])
{
largest=score[i][j];
li=i+1;
lj=j+1;
}
a=a+score[i][j];
}
average[i]=(score[i][0]+score[i][1]+score[i][2]+score[i][3]+score[i][4])/5;
a1=a1+score[i][0];
a2=a2+score[i][1];
a3=a3+score[i][2];
a4=a4+score[i][3];
a5=a5+score[i][4];
}
a=a/50;
for(i=0;i!=10;++i)
{
for(j=0;j!=5;++j)
{
fc=fc+(score[i][j]-a)*(score[i][j]-a);
}
}
fc=fc/50;
a1=a1/10;
a2=a2/10;
a3=a3/10;
a4=a4/10;
a5=a5/10;
printf("50个学生的成绩如下:\n");
printf("学生编号 计算机 高数 C语言 英语 离散数学\n");
for(i=0;i!=10;++i)
{
printf("%8d ",i);
for(j=0;j!=5;++j)
{
printf("%2.2f ",score[i][j]);
}
printf("\n");
printf函数是如何实现的}
for(i=0;i!=10;++i)
printf("第%d个学生的平均分为:%.2f\n",i+1,average[i]);
printf("第1门课的平均分为:%.2f\n",a1);
printf("第2门课的平均分为:%.2f\n",a2);
printf("第3门课的平均分为:%.2f\n",a3);
printf("第4门课的平均分为:%.2f\n",a4);
printf("第5门课的平均分为:%.2f\n",a5);
printf("50个分数中最高的分数是第%d个学生的第%d门课,分数为:%.2f\n",li,lj,largest);
printf("平均分方差为:%.2f\n",fc);
system("pause");
}
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论