2014第五届蓝桥杯c-c++本科b组试题及答案..docx

2014第五届蓝桥杯c-c++本科b组试题及答案..docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
2014第五届蓝桥杯C/C++本科B组试题及答案 标题:啤酒和饮料 啤酒每罐2.3元,饮料每罐1.9元。小明买了若干啤酒和饮料,一共花了 82.3元。 我们还知道他买的啤酒比饮料的数量少,请你计算他买了几罐啤酒。 注意:答案是一个整数。请通过浏览器提交答案。 解答: #i ncludestdio.h int mai n() { int x,y; double m=0; for(x=0,y=42;x35 || xy;) { y = (in t)(82.3-2.3*x)/1.9; m= 2.3*x+1.9*y; if(m==82.3) break; x = x+1; y = y-2; } prin tf(%d\n%d\n,x,y); return 0; } 标题:切面条 一根高筋拉面,中间切一刀,可以得到 2根面条。 如果先对折1次,中间切一刀,可以得到 3根面条。 如果连续对折2次,中间切一刀,可以得到 5根面条。 那么,连续对折10次,中间切一刀,会得到多少面条呢? 答案是个整数,请通过浏览器提交答案。不要填写任何多余的内容。 解答: #i ncludestdio.h #in cludemath.h int mai n() printf (%d pow ( 2.0,10.0 ) + 1); return 0; } 3 •标题:李白打酒 话说大诗人李白,一生好饮。幸好他从不开车。 一天,他提着酒壶,从家里岀来,酒壶中有酒 2斗。他边走边唱: 无事街上走,提壶去打酒。 逢店加一倍,遇花喝一斗。 这一路上,他一共遇到店 5次,遇到花10次,已知最后一次遇到的是花,他正好把酒喝光 了。 请你计算李白遇到店和花的次序,可以把遇店记为 a,遇花记为b。则:babaabbabbabbb b就是合理的次序。像这样的答案一共有多少呢?请你计算岀所有可能方案的个数(包含题目 给出的)。 注意:通过浏览器提交答案。答案是个整数。不要书写任何多余的内容。 解答: #i ncludestdio.h int sum=0; int f(i nt a,i nt b,i nt c){ if(a0) f(a-1,b,c*2); if(b0) f(a,b-1,c-1); if(a==0b==0c==1) sum=sum+1; return sum; } int mai n(){ f(5,9,2); prin tf(%d,sum); 标题:史丰收速算 彻底颠覆了传统手,就要进1 彻底颠覆了传统手 ,就要进1 ,就要进n 算! 速算的核心基础是:1位数乘以多位数的乘法。 其中,乘以7是最复杂的,就以它为例。 因为,1/7是个循环小数:0.142857… ,如果多位数超过 142857… TOC \o 1-5 \h \z 同理,2/7, 3/7, ... 6/7 也都是类似的循环小数,多位数超过 n/7 下面的程序模拟了史丰收速算法中乘以 7的运算过程。 乘以7的个位规律是:偶数乘以 2,奇数乘以2再加5,都只取个位。 乘以7的进位规律是: 满 142857... 进 1, 满 285714... 进 2, 满 428571... 进 3, 满 571428... 进 4, 满 714285... 进 5, 满 857142... 进 6 请分析程序流程,填写划线部分缺少的代码。 241876844562801 //计算个位 int ge_wei (int a) { if(a % 2 == 0) return (a * 2) % 10; else return (a * 2 + 5) % 10; } //计算进位 int jin _wei(char* p) { char* level[] = { 142857, 285714, 428571, 571428, 714285, 857142 }; char buf[7]; buf[6] = \0; strn cpy(buf,p,6); int i; for(i=5; i=0; i--){ int r = strcmp(level[i], buf); if(r0) return i+1; while(r==O){ p += 6; str ncpy(buf,p,6); r = strcmp(level[i], buf); if(r0) return i+1; ; // 填空 } } return 0; } //多位数乘以7 void f(char* s) { int head = jin _wei(s); if(head 0) pri ntf(%d, head); char* p = s; while(*p){ int a = (*p-0); int x = (ge_wei(a) + jin _wei(p+1)) %

文档评论(0)

magui + 关注
实名认证
内容提供者

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

版权声明书
用户编号:8140007116000003

1亿VIP精品文档

相关文档