当前位置: 首页 > news >正文

高级语言程序第9次个人作业 - 102300317

这个作业属于哪个课程 2025高级语言程序设计 (福州大学)
这个作业要求在哪里 高级语言程序设计课程第九次个人作业
学号 102300317
姓名 李东阳
  1. 作业内容
    声明一个结构体类型,用来存放某个学生的姓名、学号、性别、班级、三科成绩,并且打印出来该学生信息。
    定义一个结构体数组,用来存放班级中N个学生以上信息,编写三个函数进行信息输入、排序和输出。分别使用数组和指针作为函数参数,完成学生信息输入、以及成绩从小到大排序、按排序顺序进行信息输出。
    设计一个程序以指针和结构体变量名分别访问结构体变量的成员,进行输出。
    设计一个程序使用typedef定义结构体类型的别名。
    建立一个链表,链表的节点个数为N(>5),使用从链尾到链头的建立方式和从链头到链尾的建立方式。
    对建立好的链表进行遍历。
    编写程序删除链表中的某个节点。
    编写程序根据一定的条件,删除多个节点,该条件要在作业中写出。
    编写程序根据一定的条件,插入多个节点,该条件要在作业中写出。
    image

  2. 结构体声明和typedef
    声明了Student结构体,包含姓名、学号、性别、班级、三科成绩
    使用typedef定义了Student和StudentPtr别名

image
image
image
image
image
image
image
image
image
image
image

  1. 功能实现
    单个学生信息操作:使用结构体变量名和指针分别访问成员
    数组操作:分别用数组和指针作为函数参数实现输入、排序、输出
    排序功能:按三科总成绩从小到大排序
    链表操作:
    两种建立方式:从链尾到链头、从链头到链尾
    遍历链表
    删除单个节点(按学号)
    删除多个节点:条件为总成绩低于180分
    插入多个节点:条件为在学号大于"1001"的节点后插入新节点

程序运行:
image
image
image

总结:
结构体的多重表示方式
通过本次作业,我深刻理解了结构体的三种访问方式:
结构体变量名访问:stu.name - 直观明了
结构体指针访问:pStu->name - 效率更高
结构体数组访问:students[i].name - 适合批量处理

思考:
不同场景选择不同的访问方式,对于单个变量用.,对于指针用->,既能保证代码清晰度,又能提升效率。
函数参数传递方式的对比
作业要求分别用数组和指针作为函数参数,让我体会到:
数组参数:void func(Student students[])
更符合直觉,易于理解
编译器会自动转换为指针
适合初学者理解数组操作
指针参数:void func(Student *students)
更贴近底层实现
操作更灵活
可以用于动态内存分配

http://www.gsyq.cn/news/104139.html

相关文章:

  • 计算机视觉项目启动利器:PyTorch-CUDA开箱即用环境
  • Cypress:架构原理与环境设置全解析
  • LobeChat能否支持实时协作?多人共编对话设想
  • ChatGPT-5.2:重塑智能生活,如何颠覆我们的日常?
  • 2025年医院病房电视系统制造企业权威推荐榜单:医院iptv电视系统‌/医院iptv系统‌/智慧医院电视系统源头厂家精选 - 品牌推荐官
  • 教你使用服务器搭建优雅的实时热门新闻阅读工具 NewsNow
  • LobeChat能否支持WebRTC?实时音视频通信扩展设想
  • PCL分割——法向量差分分割
  • 亚马逊格局巨变!AI 助手重构购物逻辑,卖家如何顺势突围?
  • AutoGPT能否自动生成架构图?系统设计文档辅助
  • 北京市继承律师权威指南:2025-2026口碑评价与全场景解决方案推荐 - 老周说教育
  • 2025年紫外线消毒器品牌排名:紫外线消毒器哪家品牌的易用性 - mypinpai
  • 如何找代码bug
  • 基于单片机的智能家居燃气检测系统设计与技术实现
  • 从模拟到AI集成:图像采集卡的技术演进与未来三大趋势
  • AutoGPT能否接入网易邮箱?邮件协议调用示例
  • ComfyUI工作流中嵌入vLLM节点,动态批处理提速
  • 27、Docker 应用场景:Galera 集群负载均衡与 Spark 集群搭建
  • 固态断路器技术现状、应用场景与核心挑战
  • 17、Docker不同操作系统及工具使用指南
  • 打造专属AI助手:LobeChat角色预设配置完全手册
  • 2025年变压器回收公司排行榜,保兴顺达的售后服务完善吗? - mypinpai
  • 创建线程的五种写法
  • LobeChat与Next.js的完美结合:现代Web框架赋能AI前端开发
  • 豆包AI手机遭遇全网围剿:背后藏着什么行业秘密?
  • AutoGPT能否编写Python脚本?编程能力全面评测
  • 2025年X衍射仪售后哪家好?国产仪器权威推荐+优质厂家测评+品牌口碑榜 - 品牌推荐大师1
  • 2025年下半年AI应用架构演进:从RAG到Agent再到MCP的生态跃迁
  • ChatGPT-5.2:人工智能如何走进千家万户,改变我们的每一天
  • 网络语言系列php系列【仅供参考】:PHP Exception::getMessage 和 Exception:: getLine有什么区别