数组和文件.ppt_第1页
数组和文件.ppt_第2页
数组和文件.ppt_第3页
数组和文件.ppt_第4页
数组和文件.ppt_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数组和文件 安庆十四中胡锋 数组部分 问题一坐位子 问题描叙 设有有序的N个位子和N个人 第一个人把全部位子标为0 第二个人把序号是2的倍数的位子上的标号反过来 0改为1 第三个人把所有序号是3的倍数的位子上的标号又都反过来 0变为1 1又都变为0 依此类推 当第N个人标了号之后 有哪些位子标成了1 将所有标成1的位子输出 输入样例 5 输出样例 14 数据范围 30 数据在100 n 70 数据在1000 n 100 数据在100000 n 问题分析 模拟问题 可是如何模拟呢 设置一个布尔型的数组 表示这个座位可否翻转了 然后有点类似与筛选的策略把所有的倍数从新相反赋值 例如 第i个座位现在的状态时a i 那么它的相反的状态是a i nota i 这样就可以模拟了 可是得到答案之后还是需要进一步探究 看看是否这题有什么规律可循 同学们自行思考 关键点 模拟 找规律 问题二日期比较 问题描叙 给定N个日期 年月日 请你比较之后给出它们的时间先后顺序 输入样例 3201221420121132012229 输出样例 201211320122142012229 数据范围 0 n 1000所有的日期都在1900年到2100之间 同时保证日期有效 问题分析 本题就是一个排序的问题 那么难点在哪呢 就是日期的判断早晚 有同学肯定想这地方多次去判断日期那个早晚 有个函数多少 可是那时后面的事情 那么我们如何进行判断呢 有一种巧妙的办法 就是将日期的年月日变成字符串 按照字典顺序比较 例如 20121215和20121114这样两个日期如何比较 按照字符串连接一起就是 20121215和20121114这样的字典顺序的大小关系不就是日期的关系嘛 可是有同学肯定提出来上面的日期如何是2012215和20121114来比较呢 好像不行 同学自行思考下如何处理 关键点 多关键字转化为单关键字排序 问题三逆序排序 问题描叙 给出N个正整数 请你将这些数字逆序输出 从小到大 输入样例 410301101231000 输出样例 00010110301321 说明 输出的时候都需要保留原来存在的零 同时如果数值相等 零的个数多的在前面 问题分析 又是一道排序问题 那么有与刚才的问题有什么不同呢 这地方需要输出零 这样零如何记录呢 当然拿一个数组存放零的个数了 因为每个数都有可能有零 这样我们再排序的时候需要比较的东西就多了 不仅要比较数的大小 同时还需要比较零的个数 关键点 多关键字排序 问题描述 一般手机的键盘是这样的12abc3def4ghi5jkl6mno7pqrs8tuv9wxyz 0 要按出英文字母就必须要按数字键多下 例如要按出x就得按9两下 第一下会出现w 而第二下才会出现x 0键按一下会出一个空格 你的任务是读取一个只包含英文小写字母和空格的句子 求出要在手机上打出这个句子至少要按多少下键盘 输入格式 一行 一个句子 只包含英文小写字母和空格 且不超过200个字符 输出格式 一行 一个整数表示按键盘的总次数 输入样例 ihaveadream 输出样例 23 问题四手机打字 问题分析 需要做个模板 这个模板包含每个字母的按键次数 那么这题目就简单了 直接读入每个字符 然后调用模板知道需要 关键点 模板 问题五进制加法 问题描叙 两个加数缺少了它们各自的进制 现在来做加法 现在给你这样的一个等式 请你求出满足这样的等式的有几个 两个数的进制在2到16进制以内 输入样例 1010 200 210 输出样例 1 问题分析 枚举每种进制从2到16 然后再将其进制转化为统一进制 但是这个过程需要使用数组吗 可以不需要 一个一个字符读取也是可以的 但是利用数组能带来很多方便 例如循环的层数 可以将第三个数保存在数组中判断 同时读取的时候可以采取字符串的形式 这样读取会使用到很多固有函数与过程 关键点 枚举 字符串 问题六扑克花色 问题描叙 一副扑克牌放在桌子上面 然后分发给四名玩家 请你对于其中的一名玩家的扑克牌按照花色进行排序 A表示黑桃 C表示红桃 E表示方块 S表示桃花 J Q K A 2分别用11 12 13 1 2来表示 输出的时候按照黑桃 红桃 方块 桃花的顺序进行 数字按照从小到大输出 输入样例 A1E11C12A2A3A9E5S7S2S10S11C1C2 输出样例 A1A2A3A9C1C2C12E5E11S2S7S10S11 问题分析 第一个要解决的问题是输入 每人总共只有13张牌 为什么呢 那么每张的牌的具体情况如何读取呢 可以采取读入一个一个字符的读取或者直接使用字符串 注意到每张牌的特点首先是花色 只有一个字符 然后才是具体的点数 注意其中有两位数字 需要将数字字符转化为数字 同时以空格进行分隔每张牌 第二个要处理的如何分花色排序 可以采用一个二维数组 行为花色 列为点数 这样把刚才读取出的每张牌的具体情况都放在这样二维数组中 它的值为布尔类型 true表示这张牌出现过 否则则为没有出现 问题分析 第三个要解决的问题是输出 使用两层循环 第一层为花色 第二行为点数 这样注意换行 关键点 本题的解决类似如桶排 只不过是个二维的桶而已 问题七打印图形 问题描叙 给出一个只有 符号组成的字符串 请你按照规律打印图形 输入样例 输出样例 问题分析 找到问题的规律很关键 什么规律呢 注意了下面一行的当前 或者 是由上面一行的 和 决定的 即当前行的 是因为上面一行的当前列和下一列都是相同的 否则就是 发现这样的规律就简单了 直接可以开始打印图形 关键点 打印图形和找规律 问题八数字方阵 问题描叙 从键盘输入一个整数N N 10 后 则输出如下迂回矩阵 输入样例 8 输出样例 12510172637504361118273851987121928395216151413202940532524232221304154363534333231425549484746454443566463626160595857 问题分析 找到第一行的起始点的数 然后向下再向左依次填取各个数字 第一行有什么规律呢 其实也是跟它们的个数有关 第一个L型的图形有一个数 第二个有三个数 第三个有七个数 这样就是构成等差数列 规律自然就出来了 关键点 找规律 模拟 文件部分 问题九N进制乘法口诀表 问题描叙 从table in中读入一个自然数N 2 N 16 打印出N进制乘法口诀表 输出到table out中 请注意格式 大写字母 右对齐 除了最左列外 每个数据项占4列 以下是N 16时的结果 0123456789ABCDEF001012024303694048C10505AF1419606C12181E24707E151C232A3180810182028303840909121B242D363F4851A0A141E28323C46505A64B0B16212C37424D58636E79C0C1824303C4854606C788490D0D1A2734414E5B6875828F9CA9E0E1C2A38465462707E8C9AA8B6C4F0F1E2D3C4B5A69788796A5B4C3D2E1 问题分析 注意乘法表的规律 第一行单独输出 下面每行的第一列也是需要特殊处理 然后就是结果需要进制转化 注意每行只有与行数相同的列 关键点 图形规律 进制转化 问题十月历 问题描叙 给定一个年月 给出这个月的日历 例如 2012年2月 输出的时候不需要标出星期几 输入样例 20122 输出样例 1234567891011121314151617181920212223242526272829 数据范围 年份在1900年到2100年之间 1900年1月1日星期一 问题分析 模拟让时间一天一天的过 一年可以快速过去 闰年366天 平年365天 计算出在这一年之前的天数 然后在计算出在这个月之前的天数 计算出星期几 然后注意空格 七个一行 关键点 模拟或公式 问题十一乒乓球 问题背景 国际乒联现在主席沙拉拉自从上任以来就立志于推行一系列改革 以推动乒乓球运动在全球的普及 其中11分制改革引起了很大的争议 有一部分球员因为无法适应新规则只能选择退役 华华就是其中一位 他退役之后走上了乒乓球研究工作 意图弄明白11分制和21分制对选手的不同影响 在开展他的研究之前 他首先需要对他多年比赛的统计数据进行一些分析 所以需要你的帮忙 问题描述 华华通过以下方式进行分析 首先将比赛每个球的胜负列成一张表 然后分别计算在11分制和21分制下 双方的比赛结果 截至记录末尾 比如现在有这么一份记录 其中W表示华华获得一分 L表示华华对手获得一分 WWWWWWWWWWWWWWWWWWWWWWLW在11分制下 此时比赛的结果是华华第一局11比0获胜 第二局11比0获胜 正在进行第三局 当前比分1比1 而在21分制下 此时比赛结果是华华第一局21比0获胜 正在进行第二局 比分2比1 如果一局比赛刚开始 则此时比分为0比0 你的程序就是要对于一系列比赛信息的输入 WL形式 输出正确的结果 输入格式 每个输入文件包含若干行字符串 每行至多20个字母 字符串有大写的W L和E组成 其中E表示比赛信息结束 程序应该忽略E之后的所有内容 输出格式 输出由两部分组成 每部分有若

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论