文章目录

  • 一、结构体变量
  • 二、用结构体数组处理学生成绩
  • 三、结构体类型函数求平均值

用C语言学好结构化编程逻辑!本篇主要分析结构体数组和结构体类型的函数,对于二级C语言来说,主要是考处理学生多个成绩上和求平均值上。两个实例的参考代码里面都有相应的注释,就不在外面分析了

一、结构体变量

C语言结构体(Struct)从本质上讲是一种自定义的数据类型,只不过这种数据类型比较复杂,是由 int、char、float 等基本类型组成的。你可以认为结构体是一种聚合类型。
在实际开发中,我们可以将一组类型不同的、但是用来描述同一件事物的变量放到结构体中。例如,在校学生有姓名、年龄、身高、成绩等属性,学了结构体后,我们就不需要再定义多个变量了,将它们都放到结构体中即可。

二、用结构体数组处理学生成绩

1、参考代码:

#include <stdio.h>
#define N 5
int main()
{struct student{char number[7];char name[7];int age;float score[3];};int i;struct student s[N]= {      {"130101","Lily",20,78,86,66},{"130105","Poul",18,85,92,66},{"134522","Dev",16,83,83,66},{"103247","Jaun",21,75,94,66},{"130105","Chen",23,96,72,66}    };printf(" 学号    姓名  年龄  数学  语文  英语\n");for(i=0; i<N; i++){printf("%6s %6s %4d %6.1f %5.1f %5.1f\n",s[i].number, s[i].name, s[i].age, s[i].score[0], s[i].score[1], s[i].score[2]);}getchar();
}

2、参考结果:

三、结构体类型函数求平均值

1、参考代码:

#include <stdio.h>
#define N 5
struct student{char number[7];char name[7];int age;float score[3];
};
struct score average(struct student *p, int n);     //申明结构体类型函数 struct score{float sx;      //数学,语文,英语 float yw;float yy;
};main()
{struct student s[N]= {        {"130101","Lily",20,78,86,66},{"130105","Poul",18,85,92,66},{"134522","Dev",16,83,83,66},{"103247","Jaun",21,75,94,66},{"130105","Chen",23,96,72,66}    };struct score as;as=average(s,5);     //传入结构体数组和学生个数printf("数学平均成绩:%4.1f\n",as.sx);printf("语文平均成绩:%4.1f\n",as.yw); printf("英语平均成绩:%4.1f\n",as.yy); getchar();
}struct score average(struct student * p, int n)        //结构体类型函数,接受结构体类型数组和学生个数 ,用于返回结构日类型数组s
{struct score s= {0,0,0};          //结构体类型数组赋初值    int i;for(i=0; i<n; i++){s.sx+= (p+i)->score[0];        //利用线性链表,指针每向右移动 i 个,将其内的score数组内的语数英成绩加到对应的s.sx, s.yw, s.yy上 s.yw+= (p+i)->score[1];s.yy+= (p+i)->score[2];}s.sx /= 5;      //将总分除5求得平均值 s.yw /= 5;s.yy /= 5;return s;        //返回结构体数组  struct student s
}

2、参考结果:

(篇十)用结构体数组处理学生成绩、结构体类型函数求平均值相关推荐

  1. 有一个一维数组,存10个学生成绩,写一个函数求最高分,最低分,平均分

    由于函数返回一个值,定义全局变量max和min,定义一个函数,函数中改变max和 min的值,返回平均值,最终达到目 #include<stdio.h> float max=0,min=0 ...

  2. 用结构体数组存储学生信息,输入学生学号,查询相应的成绩

    用结构体数组存储学生信息,输入学生学号,查询相应的成绩 主要是熟练一下结构体的运用,思路:先存储学生信息,然后做相应的查询,在存储过程中,设置以#为结束标志,在查找过程中,同样以#为结束标志,这里用到 ...

  3. 【C语言习题】构造体数组:构造“学生成绩”结构体

    题目内容:构造"学生成绩"结构体(要求成员有学号.姓名.性别.成绩等),用此类型定义数组,并实现该数组中数据的输入和输出. 个人解法如下: #define _CRT_SECURE_ ...

  4. C语言结构体数组,结构体数组的定义,结构体数组的输出,结构体的应用

    结构体数组 结构体数组的定义: 结构体数组格式:声明变量类型 数组名称[数组长度] //定义一个结构体数组名为a,它里面包含有5个元素,每一个元素都是一个结构体变量 Wor a[5]={}; #inc ...

  5. 【结构体】 结构体引用、结构体数组指针、包含结构的结构体

    目录 一.概念.变量的定义 初识结构体 结构体变量的定义.引用结构体类型的初始化 二.结构体的数组 认识结构体数组 初始化结构体数组 三.结构体指针 初识结构体指针 指向结构体数组的指针 结构体作为函 ...

  6. [转载] JAVA数组实现学生成绩统计

    参考链接: Java程序的输出 20(继承) 一.项目名称 数组实现学生成绩统计 二.项目描述 1.项目简介: 由用户输入学生人数与名字,并定义当前学期课程数与课程名,并分别录入每位学生每门课程成绩, ...

  7. C语言汇总学生成绩,c语言用二维数组统计学生成绩.doc

    c语言用二维数组统计学生成绩 # include /*定义一个求每门课平均成绩的函数AverageCourse 它的形参一个是二维数组,用来传递学生成绩: 一个是指针变量(数组名),存放每门课的平均成 ...

  8. (c语言 )输入10个学生5门课的成绩,分别用函数求:每个学生平均分;每门课的平均分;

    c语言 输入10个学生5门课的成绩,分别用函数求: 每个学生平均分: 每门课的平均分: #include <stdio.h> #include<math.h>float Row ...

  9. C语言习题:输入10个学生5门课的成绩,分别用函数求:①每个学生平均分;②每门课的平均分;③找出所有分数中最高分

    初学C语言,然后遇到一题: 输入10个学生5门课的成绩,分别用函数求:①每个学生平均分:②每门课的平均分:③找出所有分数中最高分 直接上代碼 注:自定义函数(xpj,kpj,maxj)我直接放在最前面 ...

最新文章

  1. 计算机科学 生物技术,计算机科学(Computer Science)简介
  2. DSP5509项目之用FFT识别钢琴音调(1)
  3. eclipse和idea代码通用吗_python能在苹果手机上运行吗
  4. P2324 骑士精神
  5. 移动端适配方案(上)
  6. ASP.NET生成验证码
  7. python库numpy的reshape的终极解释
  8. opencv 最大内接矩形_OpenCV之二值图像分析 – 寻找最大内接圆
  9. 测试后台管理系统思路和方法
  10. Jumpserver docker部署及踩坑
  11. 有关人工智能方面的调研报告
  12. Asp .NetCore 支付宝网页授权登录
  13. ggplot2 画图 X 轴排序问题
  14. 交换机和路由器的区别_一文读懂交换机和路由器的区别
  15. 产品分析报告—年轻人的体育社区—虎扑
  16. 拜读近五年UT Austin Villa发表的RoboCup仿真3D论文
  17. c语言 百度文库,百度文库C语言专本辅导第一二章.doc
  18. C# 集合-并发处理
  19. 前端UI配色辅助HTML源码
  20. Safari下载文件名乱码

热门文章

  1. elementui 自定义样式没生效
  2. 五邑大学计算机组成原理试卷,2017年五邑大学信息工程学院807微机原理与应用[专业硕士]之计算机组成原理考研强化模拟题...
  3. php 文章修改怎么写,PHP开发文章发布系统之后台文章修改页面
  4. phalapi 数据库锁_phalApi数据库操作
  5. python声明一个长度为n的列表_python中长度为n的列表的置换
  6. 计算机系统应用系统,计算机系统应用.pdf
  7. mysql5.7.17完全卸载_MySQL5.7完全卸载步骤详解
  8. 鸿蒙开发版发布会现场直播开奖记录,首发鸿蒙OS 荣耀智慧屏系列发布会直播
  9. 本地在线安装mysql_本地安装MySql服务
  10. linux wkhtmltopdf换字体,ubuntu – 更新后Wkhtmltopdf字体大小增加