解题思路:
注意事项:
参考代码:
/*有N个学生,每个学生的数据包括学号、姓名、3门课的成绩,从键盘输入N个学生的数据,要求打印出3门课的总平均成绩,以及最高分的学生的数据(包括学号、姓名、3门课成绩)
输入格式
学生数量N占一行每个学生的学号、姓名、三科成绩占一行,空格分开。
输出格式
各门课的平均成绩 最高分的学生的数据(包括学号、姓名、3门课成绩)
样例输入
2
1 blue 90 80 70
b clan 80 70 60
样例输出
85 75 65
1 blue 90 80 70*/
#include
struct stu
{
char xh[100];
char xm[100];
int cj[3];
}stu1[100];
int input(int n)
{
for(int i=0;i<n;i++)
{
scanf("%s %s %d %d %d",&stu1[i].xh,stu1[i].xm,&stu1[i].cj[0],&stu1[i].cj[1],&stu1[i].cj[2]);
}
}
int print(int n)
{
int sum,num[100]={0},x[100],jiluhe,jilushu;
for(int i=0;i<3;i++)
{
sum=0;
for(int j=0;j<n;j++)
{
sum=sum+stu1[j].cj[i];
}
x[i]=sum/n;
}
for(int i=0;i<3;i++)
{
printf("%d ",x[i]);
}
printf("\n");
for(int i=0;i<n;i++)
{
for(int j=0;j<3;j++)
{
num[i]+=stu1[i].cj[j];
}
}
jiluhe=num[0];
jilushu=0;
for(int i=0;i<n;i++)
{
if(num[i]>jiluhe)
{
jiluhe=num[i];
jilushu=i;
}
}
/*printf("%d %d\n",num[0],num[1]);
printf("%d",jilushu);*/
printf("%s %s %d %d %d\n",stu1[jilushu].xh,stu1[jilushu].xm,stu1[jilushu].cj[0],stu1[jilushu].cj[1],stu1[jilushu].cj[2]);
}
int main()
{
int n;
scanf("%d",&n);
input(n);
print(n);
return 0;
}
0.0分
1 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复