解题思路:通过结构体数组 并设置每科成绩的寄存变量累加求得平均值
设置max在循环中选取最大值 再在后面的循环中以max的值为依据确定数组的具体位置
注意事项:多组实验数据会联动 设置寄存变量将他们穿起来(运用累加等)
参考代码:
#include<stdio.h>
typedef struct student
{
char number[100];
char name[100];
int grade1;
int grade2;
int grade3;
}stu;
int main()
{
int N,max=0,sum1=0,sum2=0,sum3=0;
scanf("%d",&N);
stu a[N];
int sum[N]; //存放每个学生的总分
for(int i=0;i<N;i++) //此题计算要利用多次输入的值 所以不能往常写法
{
scanf("%s %s %d %d %d",a[i].number,a[i].name,&a[i].grade1,&a[i].grade2,&a[i].grade3);
sum1+=a[i].grade1;
sum2+=a[i].grade2;
sum3+=a[i].grade3;
sum[i]=a[i].grade1+a[i].grade2,a[i].grade3;
if(sum[i]>max)
max=sum[i];
}
printf("%d %d %d\n",sum1/N,sum2/N,sum3/N);
for(int i=0;i<N;i++)
{
if(max==sum[i])
printf("%s %s %d %d %d\n",a[i].number,a[i].name,a[i].grade1,a[i].grade2,a[i].grade3);
}
return 0;
}
0.0分
0 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复