您的位置:首页 > 编程语言 > C语言/C++

C语言程序设计练习题 实验八 8-1

2020-06-04 07:17 134 查看

1.有6个学生,每个学生的数据包括学号、姓名、3门课的成绩,编写函数,实现功
能: (1) 从键盘输入学生信息,存入到一个结构体数组中:
(2)计算学生三门课程的平均成绩,并存入到结构体数组中:
(3)打印出每门课的班级平均成绩:
(4)打印出最高分的学生的数据(包括学号、姓名、3门课的成绩)。

#include<stdio.h>
typedef struct
{
int num;
char name[20];
struct Grade
{
float g1,g2,g3;
}b;
}Student;
int main()
{
void inputStudent(Student[]);
Student a[6];
inputStudent(a);
return 0;
}
void inputStudent(Student a[])
{
float max[3],sum[3],ave[6];
int i,j[3];
for(i=0;i<6;i++)
{
printf("请输入第%d个学生的信息\n",i+1);
scanf("%d",&a[i].num);
scanf("%s",&a[i].name);
scanf("%f %f %f",&a[i].b.g1,&a[i].b.g2,&a[i].b.g3);
}
for(i=0;i<5;i++)
{
j[0]=0;
if(a[i].b.g1<a[i+1].b.g1)
{
max[0]=a[i+1].b.g1;j[0]=i+1;}
if(a[i].b.g2<a[i+1].b.g2)
{
max[1]=a[i+1].b.g1;j[1]=i+1;}
if(a[i].b.g3<a[i+1].b.g3)
{
max[2]=a[i+1].b.g1;j[2]=i+1;}
}
for(i=0;i<6;i++)
{
ave[i]=(a[i].b.g1+a[i].b.g2+a[i].b.g3)/3;
}
sum[0]=0;sum[1]=0;sum[2]=0;
for(i=0;i<6;i++)
{
{sum[0]=sum[0]+a[i].b.g1;
sum[1]=sum[1]+a[i].b.g2;
sum[2]=sum[2]+a[i].b.g3;
}
}
printf("===学生平均成绩===\n");
for(i=0;i<6;i++)
{printf("第%d位的平均成绩为%.2f\n",i+1,ave[i]);}
printf("===学科平均成绩===\n");
for(i=0;i<3;i++)
{printf("第%d门的平均成绩为%.2f\n",i+1,(sum[i])/6);}
printf("===各科第一名的信息===\n");
for(i=0;i<3;i++)
{printf("第%d科\n",i+1);
printf("学号:%d\n姓名:%s\n第一门成绩:%.2f\n第二门成绩:%.2f\n第三门成绩:%.2f\n",a[j[i]].num,a[j[i]].name,a[j[i]].b.g1,a[j[i]].b.g2,a[j[i]].b.g3);
}
}

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: