1000字范文,内容丰富有趣,学习的好帮手!
1000字范文 > C语言 | 输出平均成绩最高学生的信息

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

时间:2023-09-24 08:09:09

相关推荐

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 §;//调用函数

print(max§);//打印调用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);//输出结果

}

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

编译运行结果如下:

请输入各学生的信息:学号、姓名、三门课成绩:

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

请按任意键继续. . .

1

2

3

4

5

6

7

8

9

10

11

12

13

14

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

更多案例可以go公众号:C语言入门到精通

点赞

1

评论

8

分享

收藏

2

举报

关注

一键三连

点赞Mark关注该博主, 随时了

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。