蓝桥杯文档格式.docx

上传人:b****5 文档编号:19851780 上传时间:2023-01-10 格式:DOCX 页数:17 大小:20.91KB
下载 相关 举报
蓝桥杯文档格式.docx_第1页
第1页 / 共17页
蓝桥杯文档格式.docx_第2页
第2页 / 共17页
蓝桥杯文档格式.docx_第3页
第3页 / 共17页
蓝桥杯文档格式.docx_第4页
第4页 / 共17页
蓝桥杯文档格式.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

蓝桥杯文档格式.docx

《蓝桥杯文档格式.docx》由会员分享,可在线阅读,更多相关《蓝桥杯文档格式.docx(17页珍藏版)》请在冰豆网上搜索。

蓝桥杯文档格式.docx

情况都试验一遍,撞上为止!

请写出每人鸡蛋的数目(顺序不限),用逗号隔开。

三、福尔摩斯到某古堡探险,看到门上写着一个奇怪的算式:

ABCDE*?

=EDCBA

他对华生说:

“ABCDE应该代表不同的数字,问号也代表某个数字!

华生:

“我猜也是!

于是,两人沉默了好久,还是没有算出合适的结果来。

请你利用计算机的优势,找到破解的答案。

把ABCDE所代表的数字写出来。

答案写在“解答.txt”中,不要写在这里!

四、

小明刚上小学,学会了第一个扑克牌“魔术”,到处给人表演。

魔术的内容是这样的:

他手里握着一叠扑克牌:

A,2,....J,Q,K一共13张。

他先自己精心设计它们

的顺序,然后正面朝下拿着,开始表演。

只见他先从最下面拿一张放到最上面,再从最下面拿一张翻开放桌子上,是A;

后再从最下面拿一张放到最上面,再从最下面拿一张翻开放桌子上,是2;

......如此循环直

到手中只有一张牌,翻开放桌子上,刚好是K。

这时,桌上牌的顺序是:

A,2,3,4,5,6,7,8,9,10,J,Q,K

请你计算一下,小明最开始的时候手里牌的顺序是怎样的。

把结果写出来,逗号分割,小明“魔术”开始时,最下面的那张牌输出为第一个数

据。

考场不提供扑克牌,你只能用计算机模拟了,撕碎草稿纸模拟扑克属于作弊行为!

另外,你有没有把录像倒着放过?

很有趣的!

回去试试!

五、

在我国古代和近代,一直采用干支法纪年。

它采用10天干和12地支配合,一个循

环周期为60年。

10天干是:

甲,乙,丙,丁,戊,己,庚,辛,壬,癸

12地支是:

子,丑,寅,卯,辰,巳,午,未,申,酉,戌,亥

如果某年是甲子,下一年就是乙丑,再下是丙寅,......癸酉,甲戌,乙亥,丙子,....

总之天干、地址都是循环使用,两两配对。

今年(2012)是壬辰年,1911年辛亥革命

下面的代码根据公历年份输出相应的干支法纪年。

已知最近的甲子年是1984年。

voidf(intyear)

{

char*x[]={"

甲"

"

乙"

丙"

丁"

戊"

己"

庚"

辛"

壬"

癸"

};

char*y[]={"

子"

丑"

寅"

卯"

辰"

巳"

午"

未"

申"

酉"

戌"

亥"

intn=year-1984;

while(n<

0)n+=60;

printf("

%s%s\n"

x[_______],y[_______]);

}

intmain(intargc,char*argv[])

f(1911);

f(1970);

f(2012);

return0;

请分析代码逻辑,并推测划线处的代码。

答案写在“解答.txt”文件中

注意:

只写划线处应该填的内容,划线前后的内容不要抄写。

六、

如果让你设计个程序,用什么变量保存身份证号码呢?

长整数可以吗?

不可以!

因为有人的身份证最后一位是"

X"

实际上,除了最后一位的X,不会出现其它字母!

身份证号码18位=17位+校验码

校验码的计算过程:

例如:

身份证前17位=ABCDEFGHIJKLMNOPQ

A~Q每位数字乘以权值求和(每位数字和它对应的“权”相乘后累加)

17位对应的权值分别是:

7910584216379105842

求出的总和再对11求模

然后按下表映射:

余数012345678910

校验码:

10X98765432

下面的代码实现了校验过程,输入串为身份证前17位,返回了校验码。

charverifyCode(char*s)

staticintweight[]={7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2};

staticcharmap[]={'

1'

'

0'

X'

9'

8'

7'

6'

5'

4'

3'

2'

intsum=0;

for(inti=0;

i<

17;

i++)

{

sum+=(______________)*weight[i];

//填空

}

returnmap[____________];

七、

对一个方阵转置,就是把原来的行号变列号,原来的列号变行号

例如,如下的方阵:

1234

5678

910111213141516

转置后变为:

15913

261014

371115

481216

但,如果是对该方阵顺时针旋转(不是转置),却是如下结果:

13951

141062

151173

161284

下面的代码实现的功能就是要把一个方阵顺时针旋转。

voidrotate(int*x,intrank)

int*y=(int*)malloc(___________________);

rank*rank;

y[_________________________]=x[i];

for(i=0;

rank*rank;

x[i]=y[i];

free(y);

intx[4][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16}};

intrank=4;

rotate(&

x[0][0],rank);

rank;

{for(intj=0;

j<

j++)

%4d"

x[i][j]);

\n"

);

八、

30年的改革开放,给中国带来了翻天覆地的变化。

2011全年中国手机产量约为11.72

亿部。

手机已经成为百姓的基本日用品!

给手机选个好听又好记的号码可能是许多人的心愿。

但号源有限,只能辅以有偿选

号的方法了。

这个程序的目的就是:

根据给定的手机尾号(4位),按照一定的规则来打分。

规则如下:

1.如果出现连号,不管升序还是降序,都加5分。

例如:

5678,4321都满足加分标

准。

2.前三个数字相同,或后三个数字相同,都加3分。

4888,6665,7777都满足

加分的标准。

7777因为满足这条标准两次,所以这条规则给它加了6分。

3.符合AABB或者ABAB模式的加1分。

2255,3939,7777都符合这个模式,

所以都被加分。

7777因为满足这条标准两次,所以这条标准给它加了2分。

4.含有:

6,8,9中任何一个数字,每出现一次加1分。

例如4326,6875,9918都符

合加分标准。

其中,6875被加2分;

9918被加3分。

尾号最终得分就是每条标准的加分总和!

要求程序从标准输入接收数据,在标准输出上输出结果。

输入格式为:

第一行是一个整数n(<

100),表示下边有多少输入行,接下来是n行4位一组的数据,就是等待计算加分的手机尾号。

输出格式为:

n行整数。

例如,输入:

14

3045

0211

2345

6543

7777

8888

7878

7788

6688

2424

2244

9918

6789

8866

则输出:

0

5

6

8

12

3

1

注意:

请仔细调试!

您的程序只有能运行出正确结果的时候才有机会得分!

在评卷时使用的输入数据与试卷中给出的实例数据可能是不同的。

请把所有函数写在同一个文件中,调试好后,存入与【考生文件夹】下对应题号的

“解答.txt”中即可。

相关的工程文件不要拷入。

源代码中不能能使用诸如绘图、Win32API、中断调用、硬件操作或与操作系统相

关的API。

允许使用STL类库,但不能使用MFC或ATL等非ANSIc++标准的类库。

例如,

不能使用CString类型(属于MFC类库)。

九、

古罗马帝国开创了辉煌的人类文明,但他们的数字表示法的确有些繁琐,尤其在表

示大数的时候,现在看起来简直不能忍受,所以在现代很少使用了。

之所以这样,不是因为

发明表示法的人的智力的问题,而是因为一个宗教的原因,当时的宗教禁止在数字中出现0

的概念!

罗马数字的表示主要依赖以下几个基本符号:

I1

V5

X10

L50

C100

D500

M1000

这里,我们只介绍一下1000以内的数字的表示法。

单个符号重复多少次,就表示多少倍。

最多重复3次。

比如:

CCC表示300XX

表示20,但150并不用LLL表示,这个规则仅适用于IXCM。

如果相邻级别的大单位在右,小单位在左,表示大单位中扣除小单位。

IX

表示9IV表示4XL表示40更多的示例参见下表,你找到规律了吗?

I,1

II,2

III,3

IV,4

V,5

VI,6

VII,7

VIII,8

IX,9

X,10

XI,11XII,12

XIII,13

XIV,14

XV,15

XVI,16

XVII,17

XVIII,18

XIX,19

XX,20

XXI,21

XXII,22

XXIX,29

XXX,30

XXXIV,34

XXXV,35

XXXIX,39

XL,40

L,50

LI,51

LV,55

LX,60

LXV,65

LXXX,80

XC,90

XCIII,93

XCV,95

XCVIII,98

XCIX,99

C,100

CC,200

CCC,300

CD,400

D,500

DC,600

DCC,700

DCCC,800

CM,900

CMXCIX,999

本题目的要求是:

请编写程序,由用户输入若干个罗马数字串,程序输出对应的十

进制表示。

输入格式是:

第一行是整数n,表示接下来有n个罗马数字(n<

100)。

以后每行一个罗马数字。

罗马数字大小不超过999。

要求程序输出n行,就是罗马数字对应的十进制数据。

例如,用户输入:

LXXX

XCIII

DCCII

则程序应该输出:

80

93

702

十、

2x3=6个方格中放入ABCDE五个字母,右下角的那个格空着。

如图【1.jpg】所示。

和空格子相邻的格子中的字母可以移动到空格中,比如,图中的C和E就可以移

动,移动后的局面分别是:

AB

DEC

ABC

DE

为了表示方便,我们把6个格子中字母配置用一个串表示出来,比如上边的两种局

面分别表示为:

AB*DEC

ABCD*E

题目的要求是:

请编写程序,由用户输入若干表示局面的串,程序通过计算,输出

是否能通过对初始状态经过若干次移动到达该状态。

可以实现输出1,否则输出0。

初始状态

为:

ABCDE*

用户输入的格式是:

先是一个整数n,表示接下来有n行状态。

程序输出也应该是

n行1或0

CAED*B

1

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

当前位置:首页 > 法律文书 > 调解书

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

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