- 15
- 0
- 约2.25千字
- 约 12页
- 2021-03-20 发布于北京
- 举报
数组综合程序设计 四川信息职业技术学院·《C语言》 * 第六节 数组的应用 加密的算法方式不外置换和易位两种。 加密算法 置换 易位 置换将原文中的各字符按一定规律替换成另外的字符,如把原文“Love”中每各字母用字母表中下一字母替换,则密文为“Mpwf”。 易位是保持原文中字符不变,但改变各字符出现的位置,如把原文“Love”中字符循环左移一位,则密文为“oveL”。 第六节 数组的应用 【例6-14】 从键盘上输入一行由小写英文组成的字符串,用置换法(置换规律:按字母表逆序)对其加密。 用自然语言描述的程序逻辑如下: ① 设置环境,定义变量。 ② 将字母逆序表放于数组key[27]中;输入原文,放于数组str[80]中。 ③ i=0。 ④ 原文处理到完否(str[i]为’\0’)?没有,则转⑤,否则转⑧。 ⑤ 计算字母str[i]在key[27]中出现的位置k。 ⑥ 用字母key[k]置换字母str[i]。 ⑦ i=i+1,转④。 ⑧ 输出密文str串,结束。 第六节 数组的应用 参考源代码: 【思考验证】 试写出本例的解密程序。 【融会贯通】 输入N行字符串,对每行加密。加密方法是按字母表的顺序:将第1个字符用第3个字符替代,将第2个字符用第4个字符替代,依次类推,直到倒数第2个字符。倒数第2个字符用原文中的第1个字符替代,倒数第1个字符用原文中的第2个字符替代。如果原文行长度小于3个字符,则保持原文行不变;非字母字符不变。 如原文:How are you? 密文为:Jqy ctg aqw? 第六节 数组的应用 【例6-15】 随机产生 N×M 个1000以内自然数组成N行M列的二维数组,将各行元素降序排列后输出。 【简要分析】前面讲过,对一行数据排序用二重循环,而二维数组是若干行数据,故该用三重循环。用自然语言描述的程序逻辑如下: ① 设置环境,定义变量。 ② 产生并输出二维数组x[N][M]。 ③ i=0。 ④ 如果i<N,转⑤,否则转⑦。 ⑤ 对第i行排序。 ⑥ i=i+1,转④。 ⑦ 输出排序后的数组,结束。 第六节 数组的应用 参考源代码 【思考验证】 巧改本例,实现对N×M的二维数组按列降序排列。 【融会贯通】 评委打分。某次歌咏比赛共有N个评委给M个选手打分(含一位小数),统计时去掉一个最高分和一个最低分,输出各选手的最后得分(指平均分,保留一位小数)。 第六节 数组的应用 【例6-16】 英雄排座次。任意输入N个人的姓名,将他们按字母顺序升序排列。如当N取5时,设原始姓名是: zhao ke-lin li bing wang hong deng xiao-ping 排序前 排序 deng xiao-ping li bing wang hong zhao ke-lin 排序后 第六节 数组的应用 【简要分析】 因中国人的姓名长度一般不超过20个字符,故本例定义数组name[N][20]表示N个人的姓名。注意字符串比较须用strcmp()函数,交换两个字符串须用strcpy()函数,中间变量应定义成字符数组。 排序用 int 循环控制变量 i,j 临时变量,暂存姓名 char 临时变量 temp[20] 键盘输入 char 存放N个人姓名 name[N][20] 值 类型 作 用 变量名 输出name数组,结束 i=i+1 j=j+1 交换:name[i] 与name[j] name[i]>name[j] 是 否 j<N ? j=i+1 i<N-1 ? i=0 输入N个人的姓名,放于name[N][20]。 设置环境,定义变量 用N-S流程图描述的程序逻辑: 第六节 数组的应用 参考源代码: 第六节 数组的应用 【思考验证】 保持N个姓名的先后顺序不变,将组成各姓名的字符按ASCⅡ码升序排。请修改本例。 【融会贯通】 请按姓名的长度将N个姓名降序排列。 课堂练习6.6 1.下面是某商店代理产品的月销售汇总表,编程找出获利最大的商品和获利最小的商品。 品名 进价(元) 进货件数 零售价(元) 销售件数 computer1 6000.00 120 6870.00 112 computer2 21000.00 50 21900.00 47 VCD1 458.00 500
您可能关注的文档
- AUTOCAD绘图任务4绘制密封板平面图任务4绘制密封板平面图.pptx
- AUTOCAD绘图预备知识:图形的输出与发布入门知识预备知识:图形的输出与发布入门知识.pptx
- AutoCAD施工图绘制(删)任务1单开门制作任务1单开门绘制PPT.pptx
- AutoCAD施工图绘制(删)任务2楼梯制作任务2楼梯制作PPT.pptx
- AutoCAD施工图绘制知识点1:楼梯的绘制任务1-1-1楼梯制作PPT.pptx
- AutoCAD施工图绘制知识点5:装饰画的绘制任务1-1-5装饰画绘制ppt.pptx
- bz01-设计基础图形概念15图形概念.ppt
- bz03-数字艺术概论现代拼贴艺术现代拼贴艺术.ppt
- bz16-动画建模技术zb头像第四节,头部基本型B.ppt
- bz16-动画建模技术渲染设置相关、Maya操作界面讲解、基础知识天光渲染提示.pptx
- 全过程工程管理造价咨询工程监理项目服务方案投标方案(技术部分).doc
- 招标代理服务投标技术服务方案(技术方案).doc
- AI大模型与AIGC技术在公安领域的应用解决方案(99页 PPT).pptx
- 工业4.0智能制造数字工厂规划方案.pptx
- 树立社会主义核心价值观.docx
- 三年(2023-2025)中考历史真题分类汇编(全国)专题21 科技文化与社会生活(解析版).docx
- 2025年中考道德与法治真题完全解读(吉林卷).pdf
- 2025年中考道德与法治真题完全解读(安徽卷).pdf
- 三年(2023-2025)中考历史真题分类汇编(全国)专题14 人民解放战争(解析版).pdf
- 三年(2023-2025)广东中考历史真题分类汇编:专题03 中国近代史(八年级上册)(解析版).docx
最近下载
- 胆囊结石伴急性胆囊炎护理查房.pptx VIP
- 阿法拉伐分油机中文说明Instruction book.pdf VIP
- 山东省青岛胶州市、黄岛区、平度区、李沧区2024-2025学年九年级化学第一学期期末学业水平测试试题.doc VIP
- 石灰石-石灰乳二段中和法处理矿山酸性废水.pdf VIP
- 商业航天-行业报告:商业航天方兴未艾,低轨卫星星座建设加速.pdf VIP
- 华帝家用供热水燃气快速热水器JSQ24-i12047-13 JSQ30-i12047-16 JSQ24-i12048-13 JSQ30-i12048-16说明书用户手册.pdf
- CECS 364-2014 建筑燃气安全应用技术导则.pdf VIP
- 胆囊结石伴胆囊炎病例讨论.pptx VIP
- 2023版《马原》统一课件:专题四 唯物史观.pptx VIP
- 四川长江担保集团有限公司及其子公司2025年第六批员工公开招聘的备考题库及参考答案详解一套.docx VIP
原创力文档

文档评论(0)