C语言 | 输出平均成绩最高学生的信息


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


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

#include<stdio.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;i<N;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;i<N;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语言学习路线   

C语言开发工具

C语言 | 输出平均成绩最高学生的信息


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



猜您在找 C/C++语言入门——输出学生成绩(平均成绩、最高成绩、最低成绩) 构建一个学生Student,根据类Student的定义,创建五个该类的对象,输出每个学生的信息,计算并输出这五个学生Java语言成绩的平均值,以及计算并输出他们Java语言成绩的最大值和最小值。 有10个学生,每个学生的数据包括学号、姓名、3门课程的成绩,从键盘输人10个学生数据,要求输出3门课程总平均成绩,以及最高分的学生的数据(包括学号、姓名、3门课程成绩、平均分数) 用C# 设计一个 Windows应用程序,在该程序中首先构造一个学生基本类,再分别构造小学生、中学生、大学生等派生类,当输入相关数据,单击不同的按钮(小学生、中学生、大学生)将分别创建不同的学生对象,并输出当前学生总人数,该学生的姓名、学生类型和平均成绩。 从键盘输入若干个同学的成绩,统计并输出最高成绩 最低成绩 平均分,当输入负数时结束输入 【C语言】利用文本编辑软件在磁盘上建立一个有n个学生的学号、姓名及英语、数学和计算机三门课程成绩的数据文件。编写程序将数据文件读入,且求出每个学生的平均成绩。 【JAVA】【作业向】第一题:本学期一班级有n名学生,m门课程。现要求对每门课程的成绩进行统计:平均成绩、最高成绩、最低成绩,并统计考试成绩的分布律。 SQL 查询:查询学生平均成绩 学生成绩管理系统C(链表)语言 C语言学生成绩管理系统
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM