解题思路:
1.写一个input函数,利用结构体指针*p依次赋值,循环由定义的结构体数组stu1和输入的n控制;
2.将定义的结构体数组stu1存储步骤1中相应的结构体字段值;
3.利用一个if语句去求出三科最大的学生,并记录其下标;
注意事项:
1.再给id和name赋值时,因为在结构中定义的是数组类型,因此赋值时不需要加&符号;
2.注意输出的格式(空格和换行符)。
参考代码:
#include<stdio.h>
typedef struct student
{
char id[50];
char name[50];
int chia;
int math;
int eng;
}stu;
void input(stu *p)
{
scanf("%s%s%d%d%d",p->id,p->name,&p->chia,&p->math,&p->eng);
}
int main()
{
void input(stu *p);
stu stu1[100],*p;
int n,i,j,sum1=0,sum2=0,sum3=0,max=0;
scanf("%d",&n);
for(p=stu1;p<stu1+n;p++)
{
input(p);
}
for(i=0;i<n;i++)
{
sum1+=stu1[i].chia;
sum2+=stu1[i].math;
sum3+=stu1[i].eng;
if(stu1[i].chia+stu1[i].math+stu1[i].eng>max)
{
max=stu1[i].chia+stu1[i].math+stu1[i].eng;
j=i;
}
}
printf("%d %d %d\n",sum1/n,sum2/n,sum3/n);
printf("%s %s %d %d %d",stu1[j].id,stu1[j].name,stu1[j].chia,stu1[j].math,stu1[j].eng);
return 0;
}
0.0分
0 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复