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("学号;%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语言输出平均成绩最高学生的信息内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • C语言数据输入与输出实例详解

    C语言数据输入与输出实例详解 1 概论 C语言提供了跨平台的数据输入输出函数scanf()和printf()函数,它们可以按照指定的格式来解析常见的数据类型,例如整数,浮点数,字符和字符串等等.数据输入的来源可以是文件,控制台以及网络,而输出的终端可以是控制台,文件甚至是网页. 2 数据输出 从第一个c语言程序中,就使用了跨平台的库函数printf实现将一段文字输出到控制台,而实际上,printf()不仅可以将数据按照指定的格式输出到控制台,还可以是网页或者是指定的文件中,printf()函数执

  • C语言中输入输出流与缓冲区的深入讲解

    前言 缓冲区 又称为缓存,它是内存空间的一部分.也就是说,在内存空间中预留了一定的存储空间,这些存储空间用来缓冲输入或输出的数据,这部分预留的空间就叫做缓冲区. 缓冲区根据其对应的是输入设备还是输出设备,分为输入缓冲区和输出缓冲区. 原理介绍: 当调用输入函数scanf()时,输入函数会将我们输入的数字输入到输入缓冲区, 而当我们的输入缓冲区有内容时,再次输入将不会被执行, 而是直接跳过执行,将输入缓冲区的内容赋给变量; 1.为什么要引入缓冲区 例如,我们从磁盘里取信息,我们先把读出的数据放在缓

  • C语言实现获取内存信息并输出的实例

    C语言实现获取内存信息并输出的实例 实现实例代码: headfile.h #include <stdio.h> #include <stdlib.h> #include <time.h> #define TRUE 1 #define FALSE 0 #define MAX 10000 typedef int KeyType; typedef int OtherType; typedef struct { KeyType key; OtherType other_data

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

    目录 列: 有n个结构体变量,内含学生的学号,学号,和三门成绩.要求输出平均成绩最高学生的信息(包括学号.姓名.三门课程成绩和平均成绩) 解题思路: 将n个学生的数据表示为结构体数组(有n个元素).按照功能函数化的思想,小林分别用3个函数来实现不同的功能. 源代码演示: #include<stdio.h>//头文件 #define N 3//宏定义 struct student //学生类结构体 { int num; //学号 char name[20];//姓名 float score[3]

  • C语言程序如何求学生总成绩和平均成绩

    目录 C语言求学生总成绩和平均成绩 求学生总成绩和平均成绩 程序实例 拓展应用 C语言练习,求和,平均数,取余 C语言求学生总成绩和平均成绩 输入三个学生的成绩,求的三个学生的总成绩和平均成绩. 求学生总成绩和平均成绩 典型的顺序程序严格按照输入数据.处理数据.输出数据的模式进行程序设计方案. 本问题要解决的是输入三个数字,然后求出三个数的和与平均值. 平均值可能含有小数,在变量设置时平均值可以定义为实型变量. 程序实例 1.程序代码 #include <stdio.h> void main(

  • C语言利用结构体数组实现学生成绩管理系统

    要求: 某班有最多不超过30人(具体人数由键盘输入)参加期末考试,最多不超过6门(具体门数由键盘输入).定义结构体类型描述学生信息,每个学生信息包括:学号.姓名.多门课的成绩.总成绩和平均成绩.用结构体数组作为函数参数,编程实现如下菜单驱动的学生成绩管理系统. (1) 录入每个学生的学号.姓名和各科考试成绩. (2) 计算每门课程的总分和平均分. (3) 计算每个学生的总分和平均分. (4) 按每个学生的总分由高到低排出名次表. (5) 按学号由小到大排出成绩表. (6) 按姓名的字典顺序排出成

  • C语言实现简单班级成绩管理系统

    前言: 有朋友最近在做c语言课设,要求写一个班级成绩管理系统,便写份简单的代码来玩.代码原创,未参考任何其他人的代码 程序要求 说明 本程序主要采用结构体数组 本文件采用多文件编写,由于程序规模小,故未采用编写头文件的方式 使用 #pragma once 来防止头文件重复包含 代码 怎么使用本程序看看注释应该就知道了.run main.c 就行.其他各文件作用: def.c 定义了一些常量和全局变量,结构体 myIO.c 实现了成绩录入和成绩打印输出 file.c 实现了将成绩保存为文件 men

  • C语言实现学生籍贯信息记录簿

    本文实例为大家分享了C语言实现学生籍贯信息记录簿的具体代码,供大家参考,具体内容如下 一.任务概述(文章仅供参考) 进一步掌握和利用C语言进行课程设计的能力:进一步理解和运用结构化程序设计的思想和方法:初步掌握开发一个小型实用系统的基本方法: 二.设计功能 1.创建信息链表并以磁盘文件保存:2.读取磁盘文件并显示输出所有学生的籍贯信息:3.按学号或姓名查询其籍贯:4.按籍贯查询并输出该籍贯的所有学生:5.能添加.删除和修改学生的籍贯信息 三.功能展示 四.思维导图 五.程序源码 #include

  • R语言格式化输出sprintf实例讲解

    用%s替代字符串 name <- 'max' sprintf('my name is %s',name) [1] "my name is max" 用%d替代整数 age <- 18 sprintf('age:%d',age) [1] "age:18" d前面添加数字n,可以添加n-替代数字位数的空格 sprintf('age:%3d',age) [1] "age: 18" d前面添加0加上数字n,可以添加n-替代数字位数的0 spr

  • 使用C语言如何输出逆序数

    目录 题目内容: 第一种写法 第二种写法 C语言输入一个任意长度的整数,将其逆序输出 总结 题目内容: 从键盘任意输入一个3位整数,编程计算并输出它的逆序数(忽略整数前的正负号).例如,输入-123,则忽略负号,由123分离出其百位1.十位2.个位3,然后计算3100+210+1 = 321,并输出321. 第一种写法 #include<stdio.h> #include<math.h> int main() { int a,b,c,num,ans; printf("In

  • C语言实现学生宿舍信息管理系统

    本文实例为大家分享了C语言实现学生宿舍信息管理系统的具体代码,供大家参考,具体内容如下 功能描述 该学生宿舍信息管理系统主要实现的功能有:创建学生宿舍信息,显示学生宿舍信息,查询学生宿舍信息,修改学生宿舍信息,删除学生宿舍信息,保存学生宿舍信息,读取学生宿舍信息.其系统功能模块图如下: 完整代码如下: #include<stdio.h> #include<stdlib.h> #include<string.h> #include<conio.h> #incl

  • C语言实现学生宿舍信息管理系统课程设计

    本文实例为大家分享了C语言实现学生宿舍信息管理系统的具体代码,供大家参考,具体内容如下 一.问题陈述 宿舍对于大学生在校生活来说相当于家的存在,而宿舍管理又是学校后勤管理的重要环节,如何直观的了解宿舍的入住情况和每位同学的住宿位置是提高工作效率的重要课题,根据我们所学的C语言和数据结构课程中有关链表的内容,为宿舍管理人员编写宿舍管理查询软件,就可以轻松满足实现上述需求. 任务: 1.为宿舍管理人员编写一个宿舍管理查询软件, 程序设计要求:1).采用交互工作方式2).可按关键字(姓名.学号.房号)

  • C语言格式输出二进制的2种方法总结

    目录 1.前言 2.源码实现 3.结果展示 附:C语言如何将一个数字的二进制形式输出出来 总结 1.前言 在我们日常的编程中,有时候需要格式化输出一个整形数据的二进制,但是在我们C语言中只有 输出十进制:%d: 输出十六进制:%x: 输出单个字符:%c: 输出字符串:%s: 输出变量所在的地址:%p: 而并没有这种二进制对应的格式,所以需要我们手动来实现. 2.源码实现 本篇博客给大家介绍两种方法: 1.通过库函数itoa,需要包含头文件:#include <stdlib.h>: 2.通过十进

随机推荐