瞎折腾


私信TA

用户名:chenbin

访问量:62210

签 名:

等  级
排  名 73
经  验 9855
参赛次数 0
文章发表 74
年  龄 0
在职情况 学生
学  校 中南大学
专  业

  自我简介:

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

2 人评分

  评论区