您的位置:首页 > 其它

有10个学生,每个学生的数据包括学号、姓名、三门课成绩,输入10个学生数据要求输出三门课程总平均成绩,以及最高分学生数据

2019-08-14 11:59 1111 查看
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/mhjie1998/article/details/99551089
#include<stdio.h>
#include<math.h>
#include<string.h>
#include<malloc.h>
struct Student
{
int num;
char name[40];
int score[3];
float average;
}stu[10];

int main()
{
void high(struct Student stu[]);

int i, j;
float sum = 0;
for (i = 0; i<3; i++)
{
printf("学生NO.:");
scanf("%d", &stu[i].num);
printf("姓名:");
scanf("%s", &stu[i].name);
for (j = 0; j<10; j++)
{
printf("学生:[%d].成绩:[%d]:", i, j);
scanf("%f", &stu[i].score[j]);
}
printf("\n");
}
//各学生平均成绩
for (i = 0; i < 10; i++)
{
for (j = 0; j < 3; j++)
{
sum = sum + stu[i].score[j];
}
stu[i].average = sum / 3;
sum = 0;
printf("学号:%d 平均成绩:%f\n", stu[i].num,stu[i].average);
}

//每门课平均成绩
float average1[3];//定义一个装3门课的平均成绩的数组

sum = 0;

for (j = 0; j<3; j++)
{
for (i = 0; i<10; i++)
{
sum = sum + stu[i].score[j];
}

average1[j] = sum / 10;

sum = 0;
}

for (i = 0; i<3; i++)//输出各门课的平均成绩
{
printf("第%d门课的平均成绩\n",i+1)  ;

printf("%f", average1[i]);
printf("\n");
}
high(stu);
return 0;
}

void high(struct Student stu[])
{
int i, j;
int t = 0;
for (i = 0; i < 10; i++)
{
float max = stu[i].average;
if (max < stu[i].average)
{
max = stu[i].average;
}
t = i;
}

printf("最高分学生数据为:");
printf("学号%d  姓名%s\t", stu[t].num, stu[t].name);
printf("成绩:\n");
for (j = 0; j < 3; j++)
{
printf("%d\t", stu[t].score[j]);
printf("\n");

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