蓝桥杯全国软件大赛预赛真题c语言专科.docx

上传人:b****6 文档编号:5620563 上传时间:2022-12-29 格式:DOCX 页数:12 大小:79.10KB
下载 相关 举报
蓝桥杯全国软件大赛预赛真题c语言专科.docx_第1页
第1页 / 共12页
蓝桥杯全国软件大赛预赛真题c语言专科.docx_第2页
第2页 / 共12页
蓝桥杯全国软件大赛预赛真题c语言专科.docx_第3页
第3页 / 共12页
蓝桥杯全国软件大赛预赛真题c语言专科.docx_第4页
第4页 / 共12页
蓝桥杯全国软件大赛预赛真题c语言专科.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

蓝桥杯全国软件大赛预赛真题c语言专科.docx

《蓝桥杯全国软件大赛预赛真题c语言专科.docx》由会员分享,可在线阅读,更多相关《蓝桥杯全国软件大赛预赛真题c语言专科.docx(12页珍藏版)》请在冰豆网上搜索。

蓝桥杯全国软件大赛预赛真题c语言专科.docx

蓝桥杯全国软件大赛预赛真题c语言专科

1题目标题:

猜年龄

美国数学家维纳(N.Wiener)智力早熟,11岁就上了大学。

他曾在1935~1936年应邀来中国清华大学讲学。

一次,他参加某个重要会议,年轻的脸孔引人注目。

于是有人询问他的年龄,他回答说:

“我年龄的立方是个4位数。

我年龄的4次方是个6位数。

这10个数字正好包含了从0到9这10个数字,每个都恰好出现1次。

请你推算一下,他当时到底有多年轻。

通过浏览器,直接提交他那时的年龄数字。

注意:

不要提交解答过程,或其它的说明文字。

2

标题:

马虎的算式

小明是个急性子,上小学的时候经常把老师写在黑板上的题目抄错了。

有一次,老师出的题目是:

36x495=?

他却给抄成了:

396x45=?

但结果却很戏剧性,他的答案竟然是对的!

因为36*495=396*45=17820

类似这样的巧合情况可能还有很多,比如:

27*594=297*54

假设abcde代表1~9不同的5个数字(注意是各不相同的数字,且不含0)

能满足形如:

ab*cde=adb*ce这样的算式一共有多少种呢?

请你利用计算机的优势寻找所有的可能,并回答不同算式的种类数。

满足乘法交换律的算式计为不同的种类,所以答案肯定是个偶数。

答案直接通过浏览器提交。

注意:

只提交一个表示最终统计种类数的数字,不要提交解答过程或其它多余的内容。

3

标题:

振兴中华

小明参加了学校的趣味运动会,其中的一个项目是:

跳格子。

地上画着一些格子,每个格子里写一个字,如下所示:

(也可参见p1.jpg)

从我做起振

我做起振兴

做起振兴中

起振兴中华

比赛时,先站在左上角的写着“从”字的格子里,可以横向或纵向跳到相邻的格子里,但不能跳到对角的格子或其它位置。

一直要跳到“华”字结束。

要求跳过的路线刚好构成“从我做起振兴中华”这句话。

请你帮助小明算一算他一共有多少种可能的跳跃路线呢?

答案是一个整数,请通过浏览器直接提交该数字。

注意:

不要提交解答过程,或其它辅助说明类的内容。

4.

标题:

幻方填空

幻方是把一些数字填写在方阵中,使得行、列、两条对角线的数字之和都相等。

欧洲最著名的幻方是德国数学家、画家迪勒创作的版画《忧郁》中给出的一个4阶幻方。

他把1,2,3,...16这16个数字填写在4x4的方格中。

如图p1.jpg所示,即:

表中有些数字已经显露出来,还有些用?

和*代替。

请你计算出?

和*所代表的数字。

并把*所代表的数字作为本题答案提交。

答案是一个整数,请通过浏览器直接提交该数字。

注意:

不要提交解答过程,或其它辅助说明类的内容。

5

题目标题:

公约数公倍数

我们经常会用到求两个整数的最大公约数和最小公倍数的功能。

下面的程序给出了一种算法。

函数myfunc接受两个正整数a,b

经过运算后打印出它们的最大公约数和最小公倍数。

此时,调用myfunc(15,20)

将会输出:

3

60

//交换数值

voidswap(int*a,int*b)

{

inttemp;

temp=*a;

*a=*b;

*b=temp;

}

voidmyfunc(inta,intb)

{

intm,n,r;

if(a

m=a;n=b;r=a%b;

while(r!

=0)

{

a=b;b=r;

r=a%b;

}

printf("%d\n",b);//最大公约数

printf("%d\n",____________________________________);//最小公倍数

}

请分析代码逻辑,并推测划线处的代码,通过网页提交。

注意:

仅把缺少的代码作为答案,千万不要填写多余的代码、符号或说明文字!

6

标题:

三部排序

一般的排序有许多经典算法,如快速排序、希尔排序等。

但实际应用时,经常会或多或少有一些特殊的要求。

我们没必要套用那些经典算法,可以根据实际情况建立更好的解法。

比如,对一个整型数组中的数字进行分类排序:

使得负数都靠左端,正数都靠右端,0在中部。

注意问题的特点是:

负数区域和正数区域内并不要求有序。

可以利用这个特点通过1次线性扫描就结束战斗!

!

以下的程序实现了该目标。

其中x指向待排序的整型数组,len是数组的长度。

voidsort3p(int*x,intlen)

{

intp=0;

intleft=0;

intright=len-1;

while(p<=right){

if(x[p]<0){

intt=x[left];

x[left]=x[p];

x[p]=t;

left++;

p++;

}

elseif(x[p]>0){

intt=x[right];

x[right]=x[p];

x[p]=t;

right--;

}

else{

__________________________;//填空位置

}

}

}

如果给定数组:

25,18,-2,0,16,-5,33,21,0,19,-16,25,-3,0

则排序后为:

-3,-2,-16,-5,0,0,0,21,19,33,25,16,18,25

请分析代码逻辑,并推测划线处的代码,通过网页提交

注意:

仅把缺少的代码作为答案,千万不要填写多余的代码、符号或说明文字!

7

标题:

核桃的数量

小张是软件项目经理,他带领3个开发组。

工期紧,今天都在加班呢。

为鼓舞士气,小张打算给每个组发一袋核桃(据传言能补脑)。

他的要求是:

1.各组的核桃数量必须相同

2.各组内必须能平分核桃(当然是不能打碎的)

3.尽量提供满足1,2条件的最小数量(节约闹革命嘛)

程序从标准输入读入:

abc

a,b,c都是正整数,表示每个组正在加班的人数,用空格分开(a,b,c<30)

程序输出:

一个正整数,表示每袋核桃的数量。

例如:

用户输入:

245

程序输出:

20

再例如:

用户输入:

311

程序输出:

3

资源约定:

峰值内存消耗(含虚拟机)<64M

CPU消耗<1000ms

请严格按要求输出,不要画蛇添足地打印类似:

“请您输入...”的多余内容。

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

注意:

main函数需要返回0

注意:

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

注意:

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

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

8

题目标题:

打印十字图

小明为某机构设计了一个十字型的徽标(并非红十字会啊),如下所示(可参见p1.jpg)

$$$$$$$$$$$$$

$$

$$$$$$$$$$$$$$$

$$$$

$$$$$$$$$$$$$

$$$$$$

$$$$$$$$$$$

$$$$$$$

$$$$$$$$$$$

$$$$$$$

$$$$$$$$$$$

$$$$$$

$$$$$$$$$$$$$

$$$$

$$$$$$$$$$$$$$$

$$

$$$$$$$$$$$$$

对方同时也需要在电脑dos窗口中以字符的形式输出该标志,并能任意控制层数。

为了能准确比对空白的数量,程序要求对行中的空白以句点(.)代替。

输入格式:

一个正整数n(n<30)表示要求打印图形的层数

输出:

对应包围层数的该标志。

例如:

用户输入:

1

程序应该输出:

..$$$$$..

..$...$..

$$$.$.$$$

$...$...$

$.$$$$$.$

$...$...$

$$$.$.$$$

..$...$..

..$$$$$..

再例如:

用户输入:

3

程序应该输出:

..$$$$$$$$$$$$$..

..$...........$..

$$$.$$$$$$$$$.$$$

$...$.......$...$

$.$$$.$$$$$.$$$.$

$.$...$...$...$.$

$.$.$$$.$.$$$.$.$

$.$.$...$...$.$.$

$.$.$.$$$$$.$.$.$

$.$.$...$...$.$.$

$.$.$$$.$.$$$.$.$

$.$...$...$...$.$

$.$$$.$$$$$.$$$.$

$...$.......$...$

$$$.$$$$$$$$$.$$$

..$...........$..

..$$$$$$$$$$$$$..

请仔细观察样例,尤其要注意句点的数量和输出位置。

资源约定:

峰值内存消耗<64M

CPU消耗<1000ms

请严格按要求输出,不要画蛇添足地打印类似:

“请您输入...”的多余内容。

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

注意:

main函数需要返回0

注意:

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

注意:

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

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

9

标题:

带分数

100可以表示为带分数的形式:

100=3+69258/714

还可以表示为:

100=82+3546/197

注意特征:

带分数中,数字1~9分别出现且只出现一次(不包含0)。

类似这样的带分数,100有11种表示法。

题目要求:

从标准输入读入一个正整数N(N<1000*1000)

程序输出该数字用数码1~9不重复不遗漏地组成带分数表示的全部种数。

注意:

不要求输出每个表示,只统计有多少表示法!

例如:

用户输入:

100

程序输出:

11

再例如:

用户输入:

105

程序输出:

6

资源约定:

峰值内存消耗<64M

CPU消耗<3000ms

请严格按要求输出,不要画蛇添足地打印类似:

“请您输入...”的多余内容。

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

注意:

main函数需要返回0

注意:

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

注意:

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

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

10

标题:

剪格子

如图p1.jpg所示,3x3的格子中填写了一些整数。

我们沿着图中的红色线剪开,得到两个部分,每个部分的数字和都是60。

本题的要求就是请你编程判定:

对给定的mxn的格子中的整数,是否可以分割为两个部分,使得这两个区域的数字和相等。

如果存在多种解答,请输出包含左上角格子的那个区域包含的格子的最小数目。

如果无法分割,则输出0

程序输入输出格式要求:

程序先读入两个整数mn用空格分割(m,n<10)

表示表格的宽度和高度

接下来是n行,每行m个正整数,用空格分开。

每个整数不大于10000

程序输出:

在所有解中,包含左上角的分割区可能包含的最小的格子数目。

例如:

用户输入:

33

10152

20301

123

则程序输出:

3

再例如:

用户输入:

43

1111

130802

111100

则程序输出:

10

(参见p2.jpg)

资源约定:

峰值内存消耗<64M

CPU消耗<5000ms

请严格按要求输出,不要画蛇添足地打印类似:

“请您输入...”的多余内容。

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

注意:

main函数需要返回0

注意:

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

注意:

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

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

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 商务科技

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1