我是靠谱客的博主 忧心猎豹,最近开发中收集的这篇文章主要介绍C语言实现输出平均成绩最高学生的信息,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

列:

有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("学号;%dn姓名;%sn三门课成绩:%5.1f,%5.1f,%5.1fn平均成绩:%6.2fn",
   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语言实现输出平均成绩最高学生的信息的全部内容,希望文章能够帮你解决C语言实现输出平均成绩最高学生的信息所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(110)

评论列表共有 0 条评论

立即
投稿
返回
顶部