数组和文件.pptVIP

  1. 1、本文档共29页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数组和文件

数组和文件 安庆十四中 胡锋 数组部分 问题二 日期比较 问题六 扑克花色 文件部分 问题十 月历 * 问题一 坐位子 【问题描叙】 设有有序的N个位子和N个人。第一个人把全部位子标为0;第二个人把序号是2的倍数的位子上的标号反过来,0改为1;第三个人把所有序号是3的倍数的位子上的标号又都反过来,0变为1,1又都变为0,……;依此类推。当第N个人标了号之后,有哪些位子标成了1?将所有标成1的位子输出。 【输入样例】 5 【输出样例】 1 4 【数据范围】 30%数据在100=n; 70%数据在1000=n; 100%数据在100000=n 【问题分析】 模拟问题,可是如何模拟呢?设置一个布尔型的数组,表示这个座位可否翻转了,然后有点类似与筛选的策略把所有的倍数从新相反赋值。 例如:第i个座位现在的状态时a[i],那么它的相反的状态是a[i]:=not a[i]。这样就可以模拟了,可是得到答案之后还是需要进一步探究,看看是否这题有什么规律可循?(同学们自行思考) 【关键点】模拟+找规律 【问题描叙】 给定N个日期(年月日),请你比较之后给出它们的时间先后顺序。 【输入样例】 3 2012 2 14 2012 1 13 2012 2 29 【输出样例】 2012 1 13 2012 2 14 2012 2 29 【数据范围】 0n1000 所有的日期都在1900年到2100之间,同时保证日期有效 【问题分析】 本题就是一个排序的问题,那么难点在哪呢? 就是日期的判断早晚,有同学肯定想这地方多次去判断日期那个早晚,有个函数多少,可是那时后面的事情,那么我们如何进行判断呢? 有一种巧妙的办法,就是将日期的年月日变成字符串,按照字典顺序比较, 例如: 2012 12 15 和 2012 11 14这样两个日期如何比较? 按照字符串连接一起就是: 20121114这样的字典顺序的大小关系不 就是日期的关系嘛。 可是有同学肯定提出来上面的日期如何是 2012 2 15和2012 11 14来比较呢? 好像不行。(同学自行思考下如何处理) 【关键点】多关键字转化为单关键字排序 问题三 逆序排序 【问题描叙】 给出N个正整数,请你将这些数字逆序输出(从小到大)。 【输入样例】 4 1030 110 123 1000 【输出样例】 0001 011 0301 321 【说明】 输出的时候都需要保留原来存在的零,同 时如果数值相等,零的个数多的在前面。 【问题分析】 又是一道排序问题,那么有与刚才的问题有什么不同呢?这地方需要输出零,这样零如何记录呢? 当然拿一个数组存放零的个数了,因为每个数都有可能有零。这样我们再排序的时候需要比较的东西就多了,不仅要比较数的大小,同时还需要比较零的个数。 【关键点】多关键字排序 【问题描述】 一般手机的键盘是这样的12 abc3 def4 ghi5 jkl6 mno7 pqrs8 tuv9 wxyz*0# 要按出英文字母就必须要按数字键多下。例如要按出x就得按9两下,第一下会出现w,而第二下才会出现x。0键按一下会出一个空格。你的任务是读取一个只包含英文小写字母和空格的句子,求出要在手机上打出这个句子至少要按多少下键盘。 【输入格式】 一行,一个句子,只包含英文小写字母和空格,且不超过200个字符。 【输出格式】一行,一个整数表示按键盘的总次数。 【输入样例】i have a dream 【输出样例】23 问题四 手机打字 【问题分析】 需要做个模板,这个模板包含每个字母的按键次数,那么这题目就简单了,直接读入每个字符,然后调用模板知道需要 【关键点】模板 问题五 进制加法 【问题描叙】 两个加数缺少了它们各自的进制,现在来做加法,现在给你这样的一个等式,请你求出满足这样的等式的有几个。(两个数的进制在2到16进制以内) 【输入样例】 1010+200=210 【输出样例】 1 【问题分析】 枚举每种进制从2到16,然后再将其进制转化为统一进制,但是这个过程需要使用数组吗? 可以不需要,一个一个字符读取也是可以的。 但是利用数组能带来很多方便,例如循环的层数,可以将第三个数保存在数组中判断。同时读取的时候可以采取字符串的形式,这样读取会使用到很多固有函数与过程。 【关键点】枚举+字符串 【问题描叙】 一副扑克牌放在桌子上面,然后分发给四名玩家,请你对于其中的一名玩家的扑克牌按照花色进行排序(A表示黑桃,C表示红桃,E表示方块,S表示桃花,J

文档评论(0)

***** + 关注
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档