解题思路:
注意事项:
参考代码:
include<stdio.h>
typedef struct Student
{
char ID[100];
char name[100];
int score[3];
}student;
int times=0;
int x=0;
void input(student stu[],int times);
void average(student stu[],int times);
int big_number(student stu[],int times);
void print(student stu[],int x);
int main()
{
student stu[100];
scanf("%d",×);
input(stu,times);
average(stu,times);
x=big_number(stu,times);
print(stu,x);
}
void input(student stu[],int times) //键盘输入函数
{
for(int i=0;i<times;i++)
{
scanf("%s %s %d %d %d",
stu[i].ID,
stu[i].name,
&stu[i].score[0],
&stu[i].score[1],
&stu[i].score[2]);
}
}
void average(student stu[],int times) //求平均数函数
{
int average_0=0,average_1=0,average_2=0;
for(int i=0;i<times;i++)
{
average_0+=stu[i].score[0];
average_1+=stu[i].score[1];
average_2+=stu[i].score[2];
}
printf("%d %d %d\n",(average_0/times),(average_1/times),(average_2/times));
}
int big_number(student stu[],int times) //计算总数并比较最大值和确认要输出的书生
{
int sum[100];
for(int i=0;i<times;i++)
{
for(int j=0;j<3;j++)
{
sum[i]+=stu[i].score[j];
}
}
int big=0,num=0;
for(int z=0;z<times;z++)
{
if(sum[z]>big)
{
big=sum[z];
num=z;
}
}
return num;
}
void print(student stu[],int x) //打印要输出的学生信息
{
printf("%s %s %d %d %d",
stu[x].ID,
stu[x].name,
stu[x].score[0],
stu[x].score[1],
stu[x].score[2]);
}
0.0分
0 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复