




已阅读5页,还剩4页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 函数 Rdata 实现从文件 IN dat 中读取一篇英文文章 存入到字符串数组 string 中 请编写函数 CharRight 其功能是 以行为单位把字符串中的最后一个字符的 ASCII 值 右移 4 位后加倒数第二个字符的 ASCII 值 得到最后一个新的字符 倒数第二个字符的 ASCII 值右移 4 位后加倒数第三个字符的 ASCII 值 得到倒数第二个新的字符 依此类推 一直处理到第二个字符 第一个字符的 ASCII 值加原最后一个字符的 ASCII 值 得到第一 个新的字符 得到的新字符分别存放在原字符串对应的位置上 最后已处理的字符串仍按行 重新存入字符串数组 string 中 最后调用函数 Wdata 把结果 string 输出到文件 OUT dat 中 原始数据文件存放的格式是 每行的宽度均小于 80 个字符 含标点符号和空格 注意 部分源程序已经给出 请勿改动主函数 main 读函数 Rdata 和写函数 Wdata 的内容 include include include char string 50 80 int maxline 0 文章的总行数 int Rdata void void Wdata void void CharRight void void main if Rdata printf 数据文件 IN dat 不能打开 n 007 return CharRight Wdata int Rdata void FILE fp 2 inti 0 char p if fp fopen IN dat r NULL return 1 while fgets string i 80 fp NULL p strchr string i n if p p 0 i maxline i fclose fp return 0 void Wdata void FILE fp inti fp fopen OUT dat w for i 0 i maxline i printf s n string i fprintf fp s n string i fclose fp 3 试题答案及详解 审题分析 分析题目可知 本题只要实现 CharRight 函数的功能即可 CharRight 函数要实现的功能是 按 将字符的 ASCII 值右移 4 位并加上该字符前面的一个字符的 ASCII 值等到新的字符 然后存在原位 的替代关系 将字符串数组 string 中的字符全部替 换 因此解答本题的关键在于读取字符串数组中的字符 然后转换成 ASCII 码值 最后进 行替换运算 解题思路 这里我们通过 for 循环语句来实现读取字符串数组中的所有字符 当自变 量 i 从 0 递增到 maxline 时 就完成了对一篇文章每一行的扫描 对一行的字符串数组 首先利用字符串函数 strlen 求出字符串数组 string i 的长度输给变量 strl 把字符串中的 最后一个字符赋给 ch 然后在 for 循环语句中当自变量 j 从 strl 1 递减到 0 时 对每一个 字符的 ASCII 值右移 4 位 右移 4 位的字符与其前一个字符相加 两者的和仍然存入字符 串数组元素 string i j 中 最后替换第一个字符时将其 ASCII 值与 ch 相加 得到第一个 新的字符 参考答案 void CharRight void inti j strl charch for i 0 i0 j string i j 4 string i j string i j 1 string i 0 ch 易错分析 字符的 ASCII 值右移 4 位 用表达式 string i j 4 表示 4 已知数据文件 IN dat 中存有 300 个四位数 并已调用读函数 Rdata 把这些数存入 数组 a 中 请编写函数 primeCal 其功能是 求出这些四位数中素数的个数 count 再求出所有满足此条件的四位数的平均值Ave1 以及不满足此条件的四位数的平均值 Ave2 最后调用写函数 Wdata 把结果 count Ave1 Ave2 输出到 OUT dat 文 件中 例如 5591 是素数 则该数满足条件计算平均值 Ave1 且个数 count count 1 9812 是非素数 则该数不满足条件计算平均值Ave2 注意 部分源程序已经给出 程序中已定义数组 a 300 已定义变量 count Ave1 Ave2 请勿改动主函数 main 读函数 Rdata 和写函数 Wdata 的内容 include inta 300 count 0 doubleAve1 0 0 Ave2 0 0 int isP int m inti for i 2 i m i if m i 0 return 0 return 1 void primeCal void Rdata FILE fp inti 5 fp fopen in dat r for i 0 i 300 i fscanf fp d fclose fp void Wdata FILE fp fp fopen out dat w fprintf fp d n 7 2f n 7 2f n count Ave1 Ave2 fclose fp main Rdata primeCal Wdata printf count d n 满足条件的平均值 Ave1 7 2f n 不满足条件的平均 值 Ave2 7 2f n count Ave1 Ave2 试题答案及详解 审题分析 分析题目可知 本题只要实现 PrimeCal 函数的功能即可 PrimeCal 要实现的功能是 求出这些四位数中是素数的个数count 再求出所有满足此条件的四 位数的平均值 Ave1 以及不满足此条件的四位数的平均值Ave2 因此解答本题的关键 在于如何判断一个数为素数 解题思路 在 for 循环语句中当自变量 1 递增到 299 时 对数组 a 中的每一个元 素a i 调用函数isP a i 来判断元素a i 是否为素数 如果是素数 则把a i 加入Ave1 上 count 自加 否则把 a i 加入 Ave2 上 当退出循环时 用Ave1 除以 count 就 6 得到所有满足此条件的四位数的平均值 用Ave2 除以 300 count 就得到所有不满足 此条件的四位数的平均值 参考答案 void primeCal inti for i 0 i 300 i if isP a i Ave1 a i count else Ave2 a i Ave1 Ave1 count Ave2 Ave2 300 count 易错分析 退出 for 循环时 变量 Ave1 的值是所有满足条件的四位数的和 变量 Ave2 的值是所有不满足条件的四位数的和 考点链接 for 循环语句 if else 条件判断语句 7 下列程序的功能是 把 s 字符串中的所有字符左移一个位置 字符串中的第一个字符 移到最后 请编写函数 change char s 实现程序要求 最后调用函数 readwriteDAT 从 IN dat 文件中读取 50 组数据 分别得出结果 且把结果输出到OUT dat 文件中 例如 s 字符串中原有内容为 Mn 123xyZ 调用该函数后结果为 n 123xyZM 注意 部分源程序已经给出 请勿改动主函数main 和输出数据函数 readwriteDAT 中的内容 include include defineN 81 void readwriteDAT void change char s main chara N printf Enter a string gets a printf The original string is puts a change a printf The string after modified puts a readwriteDAT 8 void readwriteDAT inti chara N FILE rf wf rf fopen IN dat r wf fopen OUT dat w for i 0 i 50 i fscanf rf s a change a fprintf wf s n a fclose rf fclose wf 试题答案及详解 审题分析 分析题目可知 本题只要实现change char s 函数的功能即可 change char s 要实现的功能是 把 s 字符串中的所有字符左移一个位置 串中的第 一个字符移到最后 因此解答本题的关键在于如何将字符串拆分成单个字符并赋值给数 组 并通过数组的下标将字符逐个左移一位 解题思路 首先用字符串函数 strlen 求出字符串 s 的长度 赋给变量 strl 再把字 符串的首字符赋给字符变量ch 然后在 for 循环语句中 变量 i 从 0 递增到 strl 1 字 符串 s
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2030年中国鼻氧管行业市场现状供需分析及投资评估规划分析研究报告
- 户外婚宴承包协议书
- 房子赠予转卖协议书
- 建设花园承包协议书
- 挖机雇主合同协议书
- 拍卖物品合同协议书
- 异地吵架约定协议书
- 户外拓展免责协议书
- 房产开发融资协议书
- 干部导师结对协议书
- 改革发展专题教师培训讲座
- 石油化工装置模块化设计浅析
- 污水处理厂隐患排查治理体系方案
- 《仓储安全管理教程》课件
- 中建一局薪酬管理分配模式
- 2025年合肥市中煤矿山建设集团安徽绿建科技有限公司招聘笔试参考题库附带答案详解
- 2024年中考模拟试卷生物(广东深圳卷)
- 毕业设计(论文)-基于FDM的3D打印机设计
- 《汤姆索亚历险记》试题(附答案)
- 《基于UASB+AO工艺的屠宰污水处理工艺设计》15000字(论文)
- 2023年二级造价工程师之土建建设工程计量与计价实务真题附答案
评论
0/150
提交评论