2013蓝桥杯c语言本科组b.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
2013蓝桥杯C语言本科组B 1、 题目标题:高斯日记(满分4分) 大数学家高斯有个好习惯:无论如何都要记日记。 他的日记有个与众不同的地方,他从不注明年月日,而是用一个整数代替,比如: 4210 后来人们知道,那个整数就是日期, 它表示那一天是高斯出生后的第几天。 这或许也是 个好习惯,它时时刻刻提醒着主人:日子又过去一天,还有多少时光可以用于浪费呢? 高斯出生于:1777年4月30日。 在高斯发现的一个重要定理的日记上标注着: 5343,因此可算出那天是:1791年12月 15日。 高斯获得博士学位的那天日记上标着: 8113 请你算出高斯获得博士学位的年月日。 提交答案的格式是: yyyy-mm-dd,例如:1980-03-21 2、 题目标题:马虎的算式(满分 5分) 小明是个急性子,上小学的时候经常把老师写在黑板上的题目抄错了。 有一次,老师出的题目是: 36 x 495 = ? 他却给抄成了: 396 x 45 = ? 但结果却很戏剧性,他的答案竟然是对的! ! 因为 36 * 495 = 396 * 45 = 17820 类似这样的巧合情况可能还有很多,比如: 27 * 594 = 297 * 54 假设a b c d e代表1~9不同的5个数字(注意是各不相同的数字,且不含 0) 能满足形如: ab * cde = adb * ce这样的算式一共有多少种呢? 请你利用计算机的优势寻找所有的可能,并回答不同算式的种类数。 满足乘法交换律的算式计为不同的种类,所以答案肯定是个偶数。 3、 题目标题:第39级台阶(满分8分) 小明刚刚看完电影《第 39级台阶》,离开电影院的时候,他数了数礼堂前的台阶数, 恰 好是39级! 站在台阶前,他突然又想着一个问题: 如果我每一步只能迈上 1个或2个台阶。先迈左脚,然后左右交替,最后一步是迈右脚, 也就是说一共要走偶数步。那么,上完 39级台阶,有多少种不同的上法呢? 请你利用计算机的优势,帮助小明寻找答案。 4、 题目标题:黄金连分数(满分12分) 黄金分割数0.61803…是个无理数,这个常数十分重要,在许多工程问题中会出现。有 时需要把这个数字求得很精确。 对于某些精密工程,常数的精度很重要。也许你听说过哈勃太空望远镜, 它首次升空后 就发现了一处人工加工错误, 对那样一个庞然大物, 其实只是镜面加工时有比头发丝还细许 多倍的一处错误而已,却使它成了“近视眼” !! 言归正传,我们如何求得黄金分割数的尽可能精确的值呢?有许多方法。 比较简单的一种是用连分数: 1 黄金数= 1 1 + 1 1 + 1 + ... 这个连分数计算的“层数”越多,它的值越接近黄金分割数。 请你利用这一特性,求出黄金分割数的足够精确值,要求四舍五入到小数点后 100位。 小数点后3位的值为:0.618 小数点后4位的值为:0.6180 小数点后5位的值为:0.61803 小数点后7位的值为:0.6180340 (注意尾部的0,不能忽略) 你的任务是:写出精确到小数点后 100位精度的黄金分割值。 注意:尾数的四舍五入! 尾数是0也要保留! 5、题目标题:前缀判断(满分 5分) 如下的代码判断 needle_start指向的串是否为 haystack_start指向的串的前缀,如不是, 则返回NULL 。 比如:abcd1234就包含了 abc为前缀 char* prefix(char* haystack_start, char* n eedle_start) { char* haystack = haystack_start; char* n eedle = n eedle_start; while(*haystack *n eedle){ if( ) return NULL; 〃填空位置 } if(* needle) return NULL; retur n haystack_start; } 6、题目标题:三部排序(满分 7分) 一般的排序有许多经典算法,如快速排序、希尔排序等。 但实际应用时,经常会或多或少有一些特殊的要求。 我们没必要套用那些经典算法, 可 以根据实际情况建立更好的解法。 比如,对一个整型数组中的数字进行分类排序: 使得负数都靠左端,正数都靠右端, 0在中部。注意问题的特点是:负数区域和正数区 域内并不要求有序。可以利用这个特点通过 1次线性扫描就结束战斗!! 以下的程序实现了该目标。 其中x指向待排序的整型数组,len是数组的长度。 void sort3p(i nt* x, int len) { int p = 0; int left = 0; int right = len-1; while(p=right){ if(x[p]0){ int t = x[lef

文档评论(0)

dajiede + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档