首页后端开发其他后端知识C语言中怎么实现求三科成绩平均分并输出最高分

C语言中怎么实现求三科成绩平均分并输出最高分

时间2024-03-28 10:18:03发布访客分类其他后端知识浏览1478
导读:相信很多人对“C语言中怎么实现求三科成绩平均分并输出最高分”都不太了解,下面小编为你详细解释一下这个问题,希望对你有一定的帮助 目录 列: 有n个结构体变量,内含学生的学号,学号,和三门成绩。要求输出平均成绩最高学生的信...
相信很多人对“C语言中怎么实现求三科成绩平均分并输出最高分”都不太了解,下面小编为你详细解释一下这个问题,希望对你有一定的帮助


目录

    列:

    有n个结构体变量,内含学生的学号,学号,和三门成绩。要求输出平均成绩最高学生的信息(包括学号、姓名、三门课程成绩和平均成绩)

    解题思路:

    将n个学生的数据表示为结构体数组(有n个元素)。按照功能函数化的思想,小林分别用3个函数来实现不同的功能。

    源代码演示:

    #includestdio.h>
    //头文件 
    #define N 3//宏定义 
    struct student //学生类结构体 
    {
        
      int num;
         //学号 
      char name[20];
        //姓名 
      float score[3];
        //成绩 
      float aver;
    //平均分 
    }
         ;
    
    int main() //主函数 
    {
        
      void input(struct student s[]);
        //函数声明 
      struct student max(struct student s[]);
        //函数声明 
      void print(struct student s);
        //函数声明 
      struct student s[N],*p=s;
        //定义结构体变量 
      input (p);
        //调用函数 
      print(max(p));
        //打印调用max函数结果 
      return 0;
    //主函数返回值为0 
    }
    
     void input(struct student s[])//自定义输入函数 
     {
        
       int i;
        //定义整型变量 
       printf("请输入各学生的信息:学号、姓名、三门课成绩:\n");
        //提示语句 
       for(i=0;
        iN;
    i++)//循环N次 
       {
        
         scanf("%d %s %f %f %f",&
        s[i].num,&
        s[i].name,&
        s[i].score[0],&
        s[i].score[1],&
        s[i].score[2]);
        //输入信息 
         s[i].aver=(s[i].score[0]+s[i].score[1]+s[i].score[2])/3;
    //求平均值 
       }
    
     }
    
     struct student max(struct student s[])//自定义求最大值 
     {
        
       int i,m=0;
        //定义整型变量 
       for(i=0;
        iN;
    i++)//循环N次
      {
        
        if(s[i].aver>
    s[m].aver)//把平均分大的i赋值给m 
        {
        
          m=i;
    
        }
    
      }
         
        return s[m];
    //将s[m]结果返回到函数调用处 
     }
    
     void print (struct student stud)//自定义打印函数 
     {
        
       printf("\n成绩最高的学生是:\n");
        //提示语句 
       printf("学号;%d\n姓名;%s\n三门课成绩:%5.1f,%5.1f,%5.1f\n平均成绩:%6.2f\n",
       stud.num,stud.name,stud.score[0],stud.score[1],stud.score[2],stud.aver);
    //输出结果 
     }
        
    
    

    编译运行结果如下:

    请输入各学生的信息:学号、姓名、三门课成绩:
    10010 Tom 100 90 80
    10011 Jon 80 70 100
    10012 Kim 100 90 95

    成绩最高的学生是:
    学号;10012
    姓名;Kim
    三门课成绩:100.0, 90.0, 95.0
    平均成绩: 95.00

    --------------------------------
    Process exited after 44.45 seconds with return value 0
    请按

    任意键继续. . .


    以上就是关于“C语言中怎么实现求三科成绩平均分并输出最高分”的相关知识,感谢各位的阅读,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注网络,小编每天都会为大家更新不同的知识。

    声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


    若转载请注明出处: C语言中怎么实现求三科成绩平均分并输出最高分
    本文地址: https://pptw.com/jishu/654874.html
    C语言双向循环链表如何实现,有什么优缺点 Bootstrap表单控件怎么应用,能实现哪些效果

    游客 回复需填写必要信息