大连理工 程序设计 第5次上机作业.docx
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
根据给定的大连理工大学程序设计第五次上机作业的要求,本次作业主要包含了三个部分:数据移位、字符串排序以及学生成绩统计。接下来将逐一详细解释这三个知识点。 ### 数据移位 #### 题目描述 给定一个整数数组`a`,长度为`n`,将该数组中的元素按照指定的步长`m`向后移动。移动后的数组,原先位于数组尾部的`m`个元素将会移动到数组的头部。 #### 解决方案 该问题可以通过使用指针来解决。具体步骤如下: 1. **定义临时数组** `b` 用于存储移动后的结果。 2. **第一次复制**:将数组`a`中从`n-m`位置到`n-1`位置的元素复制到数组`b`的前`m`个位置。 3. **第二次复制**:将数组`a`中从`0`位置到`n-m-1`位置的元素复制到数组`b`的后`n-m`个位置。 4. **输出结果**:输出数组`b`的内容即为移动后的结果。 ### 字符串排序 #### 题目描述 给定一个包含10个字符串的数组,要求按字母顺序对这些字符串进行排序。 #### 解决方案 可以采用冒泡排序的思想,利用`strcmp`函数来比较字符串的大小,进而进行排序。具体步骤如下: 1. **定义指针数组** `s` 来指向字符串数组`a`的每个元素。 2. **双层循环**:外层循环控制比较次数,内层循环负责实际的比较与交换。 3. **字符串比较**:如果当前两个字符串`s[j]`与`s[j+1]`的顺序不符合要求,则使用`strcpy`函数进行交换。 4. **输出排序结果**:输出排序后的字符串数组。 ### 学生成绩统计 #### 题目描述 对于一个班级的6名学生,每名学生有5门科目的成绩。需要实现以下功能: - 计算指定科目所有学生的平均分。 - 找出有两门及以上科目不及格的学生及其成绩。 - 找出平均分90分以上或者所有科目成绩均不低于85分的学生及其成绩。 #### 解决方案 这个问题可以通过定义结构体`struct student`来表示每名学生的信息,并通过函数实现不同的需求。具体步骤如下: 1. **定义结构体** `struct student` 包含:5门科目的成绩数组`score`、学号`num`、优秀标志`goodflag`、不及格标志`failflag`。 2. **计算平均分**:通过函数`average`计算每名学生的平均分。 3. **查找不及格学生**:通过函数`findfail`统计每名学生不及格的科目数量,如果超过2门,则标记为不及格。 4. **查找优秀学生**:通过函数`findgood`检查每名学生是否满足优秀条件,包括平均分高于90分或所有科目成绩不低于85分。 ### 总结 本次作业涉及到了数组操作、字符串处理、结构体的应用以及基本的算法知识,是对学生编程能力的一次综合性考验。通过完成这些任务,不仅能够巩固基础语法知识,还能提高解决实际问题的能力。此外,还能够了解到如何使用函数来组织代码,提高代码的可读性和可维护性。
- 粉丝: 92
- 资源: 2万+
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助