平衡阀工作原理视频:输入五个学生四门课的成绩,计算个人与各科平均成绩及全班平均成绩,并在屏幕上显示出来。
来源:百度文库 编辑:中财网 时间:2024/05/04 14:49:20
27.输入五个学生四门课的成绩,计算个人与各科平均成绩及全班平均成绩,并在屏幕上显示出来。
/*输入五个学生四门课的成绩,计算个人与各科平均成绩及
*全班平均成绩,并在屏幕上显示出来。
*/
#include
/*声明结构struct scores,并定义一个此结构的变量数组*/
struct scores{
float subject[5];
} score[6];
/*声明函数void findmean(struct scores [])计算
*各平均值,并存在数组中。
*/
void findmean(struct scores []);
/*声明函数void printscore(struct scores [])
*打印上述结构的数据类型。
*/
void printscore(struct scores []);
main()
{
int i,j;
/*读取成绩*/
for(i=0;i<=4;i++)
{
printf("请输入学生%d的成绩:\n",i+1);
for(j=0;j<=3;j++)
scanf("%f",&(score[i].subject[j]));
}
printf("结果为:\n\t学生编号\t课程1\t课程2\t课程3\t课程4\t平均成绩\n");
/*应用函数计算平均值并输出*/
findmean(score);
printscore(score);
return(0);
}
/*定义函数void findmean(struct scores [])计算
*各平均值,并存在数组中。
*/
void findmean(struct scores score[])
{
int i,j;
float sum=0;
/*求个人平均值*/
for(i=0;i<=4;i++)
{
for(j=0;j<=3;j++)
sum=sum+score[i].subject[j];
score[i].subject[j]=sum/4;
sum=0;
}
/*求课程平均值*/
for(j=0;j<=4;j++)
{
for(i=0;i<=4;i++)
sum=sum+score[i].subject[j];
score[5].subject[j]=sum/5;
sum=0;
}
}
/*函数void printscore(struct scores [])
*打印上述结构的数据类型。
*/
void printscore(struct scores score[])
{
int i,j;
/*打印的格式控制*/
for(i=0;i<=5;i++)
{
if(i==5)
printf("\t课程平均");
else
{
printf("\t学生%d",i+1);
printf("\t");
}
for(j=0;j<=4;j++)
printf("\t%f\b\b\b\b\b",score[i].subject[j]);
printf("\n");
}
}