10个学生,每个学生的数据包括学号,姓名,3门课程的成绩,从键盘输入10个学生的数据,并输出他的平均分以及最高分学生的成绩信息。编译器VS2019
struct Student//定义结构体
{
char name[20];
int num;
int score[3];
double array;
};
void print(struct Student *p,int len)//学生的成绩信息
{
printf(“学生成绩信息\n”);
for (int i = 0; i < len; i++)
{
printf(“num %d,name %s,score[3] %d,%d,%d,array %f\n”, p[i].num,p[i].name,p[i].score[0],p[i].score[1],p[i].score[2],p[i].array);
}
}
void top(struct Student* p, int len)//最高分成绩学生的成绩信息
{
struct Student temp ;
for (int i = 0; i < len; i++)
{
for (int j = 0; j < len - 1 - i; j++)
{
if (p[j].array > p[j + 1].array)
{
temp = p[j];
p[j] = p[j + 1];
p[j + 1] = temp;
}
}
}
printf("最高分学生的成绩信息num %d,name %s,score[3] %d,%d,%d,array %f\n", p[len-1].num, p[len - 1].name, p[len - 1].score[0], p[len - 1].score[1], p[len - 1].score[2], p[len - 1].array);
}
void input(struct Student*p, int len)
{
int arverage[20];
for (int i = 0; i < len; i++)
{
printf(“输入学生成绩信息\n”);
scanf_s("%d", &p[i].num);
scanf_s("%s", &p[i].name,20);
for (int j = 0; j < 3; j++)
{
scanf_s("%d", &p[i].score[j]);
}
p[i].array = (p[i].score[0] + p[i].score[1] + p[i].score[2])/3;
}
}
int main()
{
struct Student stu[3];
int len = sizeof(stu)/ sizeof(stu[0]);
input(&stu, len);
print(&stu, len);
top(&stu, len);
return 0;
}