C语言编程题:有5个学生,每个学生有3门课成绩,从键盘上输入以上数据(包括学号、姓名、三门课成绩),

C语言编程题:有5个学生,每个学生有3门课成绩,从键盘上输入以上数据(包括学号、姓名、三门课成绩),计算出平均成绩,将原有数据和计算出的平均分数存放在磁盘“stu_list”中

第1个回答  推荐于2017-11-28
#include<stdio.h>
float a_stu[4],a_cour[3];//定义两个全局数组,用来表示学生平均成绩和各科平均成绩
int a[4][3]={78,78,99,90,89,96,77,91,90,92,79,89};
int main()
{
void aver_stu(void);
void aver_cour(void);
void fangcha(void);
aver_stu();
aver_cour();
int i,j,m,p,q;
m=a[0][0];
for(i=0;i<4;i++)
for(j=0;j<3;j++)
if(a[i][j]>m)
{m=a[i][j];
p=i,q=j;
}
printf("分数最高是%d分,该学生是第%d个学生 ,其课程是第%d门\n",m,p+1,q+1);
fangcha();
return 0;
}
//
void aver_stu(void)
{ int i,j;
float sum1;
for(i=0;i<4;i++)
{for(j=0,sum1=0;j<3;j++)//每算完一位学生的平均成绩后,要重新使sum=0才能计算下一位,所以在第二个for语句sum值要归0
sum1+=a[i][j];
a_stu[i]=sum1/3;
}
printf("四位学生的平均成绩为:\n");
for(i=0;i<4;i++)
printf("%f\n",a_stu[i]);
}
//
void aver_cour(void)
{int i,j;
float sum2;
for(i=0;i<3;i++)
{
for(j=0,sum2=0;j<4;j++)
{sum2+=a[j][i];
a_cour[i]=sum2/4;}
}
printf("三门课的平均成绩为:\n");
for(i=0;i<3;i++)
printf("%f\n",a_cour[i]);
}
//
void fangcha(void)
{float sum3=0,sum4=0,h;
int i;
for(i=0;i<4;i++)
{sum3+=a_stu[i]*a_stu[i];
sum4+=a_stu[i];}
h=sum3/4-(sum4/4)*(sum4/4);
printf("平均分方差为:%f\n",h);
}本回答被提问者采纳
相似回答