解题思路:
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;

}


点赞(1)
 

0.0分

0 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 0 条评论

暂无评论