蓝桥杯c语言校内选拔赛试题,2013年蓝桥杯校内选拔赛C语言B组.docx

44cb7578e1df5412b94317daaa3307ba.gif2013年蓝桥杯校内选拔赛C语言B组.docx

下载提示(请认真阅读)1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。

2.下载的文档,不会出现我们的网址水印。

3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。

文档包含非法信息?点此举报后获取现金奖励!

下载文档到电脑,查找使用更方便

15

积分

还剩页未读,继续阅读

关 键 词:2013

年蓝桥杯

校内

选拔赛

语言

资源描述:

1.标题:满二叉树

一般情况下,二叉树通过含有指针的数据结构来存储。但对特殊情形,也可以简化存储。

比如满二叉树的情形:除了最后一层的叶子节点外,所有的节点都有完整的左右子节点。我们可以按照树的逐层遍历顺序把节点存在数组中。当然,需要从某个节点的序号计算出它的父亲节点或者两个孩子节点。

下面代码的目标是求某节点的父节点的。请填写划线部分缺少的代码。

// 返回k号节点的父节点数据

// data: 存储满二叉树的数组

// k: 当前节点的索引号(即数组下标,从0开始)

intget_parent(int* data, int k)

{

return data[ _______________ ]; //填空位置

}

请严格按照格式,通过浏览器提交答案。

注意:只提交划线部分缺少的内容,不要写其它附加内容,比如:说明性的文字。

注意选择自己使用的编译器类型

答案: (k-1)/2

题目标题: 堆煤球

小明的爷爷很怀旧,冬天来了他还是要自己做煤球。

并且,爷爷把煤球堆放得十分整齐有规律:最上边一层只有1个煤球。第二层4个煤球摆成正方形,再下面9个煤球也是摆成正方形。总之,第 n 层就是边长为 n 的正方形。这样的结构既通风又稳固。

小明数了数,一共有30层,请你帮助计算一下,一共有多少个煤球? ___________

请通过浏览器提交答案。

注意:只提交数字,不要求解过程或公式。

注意:不要书写其它的内容(比如:说明性的文字)。

答案: 9455

3.

题目标题: 大小之差

某6位数,只包含1~9中的某些数字(可以重复包含同一数字,但不含数字0)。

该数字重新排列数位后,可以得到最大数和最小数。最大最小之差也是6位数,并且它恰好包含了组成原6位数同样的数字。

比如:766431- 134667 = 631764 就是具有这样特征的数字。

你还能找到另一个这样的6位数吗?

请填写它重新排列数位后得到的最大数:________________

请通过浏览器提交答案。

注意:只提交另一个6位数,题中已经给出的这个不要提交。

注意:不要书写其它的内容(比如:说明性的文字)。

答案: 995544或者955554 ps当时没看到恰好包含了组成原6位数同样的数字

4.标题:回文数字

观察数字:12321,123321 都有一个共同的特征,无论从左到右读还是从右向左读,都是相同的。这样的数字叫做:回文数字。

本题要求你找到一些5位或6位的十进制数字。满足如下要求:

该数字的各个数位之和等于输入的整数。

【输入格式】

一个正整数 n (10, 不能通过工程设置而省略常用头文件。

提交时,注意选择所期望的编译器类型。

[cpp]view plaincopyprint?

1. #include2. inta[6];

3. inttemp=0;

4. inthui(intn)

5. {

6. inti,j,k;

7. i=0;

8. while(n)

9. {

10. a[i++]=n%10;

11. n=n/10;

12. }

13. j=0;

14. k=i-1;

15. while(j54)

30. {

31. printf("-1\n");

32. return0;

33. }

34. for(i=10000;i<1000000;i++)

35. {

36. temp=0;

37. if(hui(i)&&temp==val)

38. {

39. printf("%d\n",i);

40. }

41. }

42. }

ps:当时大脑短路啊,竟然没敢暴力一遍,卡住了

5.标题:数字游戏

栋栋正在和同学们玩一个数字游戏。

游戏的规则是这样的:栋栋和同学们一共n个人围坐在一圈。栋栋首先说出数字1。接下来,坐在栋栋左手边的同学要说下一个数字2。再下面的一个同学要从上一个同学说的数字往下数两个数说出来,也就是说4。下一个同学要往下数三个数,说7。依次类推。

为了使数字不至于太大,栋栋和同学们约定,当在心中数到 k 时,下一个数字重新从1开始数。例如,当k=13时,栋栋和同学们报出的前几个数依次为:

1, 2, 4, 7, 11, 3, 9, 3, 11, 7。

游戏进行了一会儿,栋栋想知道,到目前为止,他所有说出的数字的总和是多少。

【输入格式】

输入的第一行包含三个整数 n,k,T,其中 n 和k 的意义如上面所述,T 表示到目前为止栋栋一共说出的数字个数。

【输出格式】

输出一行,包含一个整数,表示栋栋说出所有数的和。

【样例输入】

3 13 3

【样例输出】

17

【样例说明】

栋栋说出的数依次为1, 7, 9,和为17。

【数据规模与约定】

1 < n,k,T < 1,000,000;

【资源约定】

峰值内存消耗 < 64M

CPU消耗 < 2000ms

请严格按要求输出,不要画蛇添足地打印类似:“请您输入...” 的多余内容。

所有代码放在同一个源文件中,调试通过后,拷贝提交该源码。

注意: main函数需要返回0

注意: 只使用ANSIC/ANSI C++ 标准,不要调用依赖于编译环境或操作系统的特殊函数。

注意: 所有依赖的函数必须明确地在源文件中 #include , 不能通过工程设置而省略常用头文件。

提交时,注意选择所期望的编译器类型。

[cpp]view plaincopyprint?

1. #include2. intmain()

3. {

4. inta[100000],k,n,t,i,j,sum=0;

5. scanf("%d%d%d",&n,&k,&t);

6. a[0]=1;

7. for(i=1;i<=(t-1)*n+1;i++)

8. a[i]=(a[i-1]+i)%k;//当时粗心写13了,写成样例了,下面也是

9. for(j=0;j2. usingnamespacestd;

3. intmain(void)

4. {

5. intn,k,T;

6. ints=0;

7. inti,m=1;

8. intsum=0;

9. scanf("%d%d%d",&n,&k,&T);

10. for(i=1;i<=n*T;i++)//n*T表示循环次数

11. {

12. m=m+(i-1);//当前人的报数

13. if(m>k)

14. m=m-k;

15. if(i%n==1)//轮到栋栋就sum加m

16. sum=sum+m;

17. }

18. printf("%d\n",sum);

19. return0;

20. }

展开阅读全文

温馨提示:

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。

2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。

3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。

4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。

5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。

6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。

7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

bb6249c6567dd4384e6ab3556cfc22ed.gif 

人人文库网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。

关于本文

本文标题:2013年蓝桥杯校内选拔赛C语言B组.docx

链接地址:https://www.renrendoc.com/p-75960113.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值