c++经典编程题文档格式.docx

上传人:b****6 文档编号:19369556 上传时间:2023-01-05 格式:DOCX 页数:13 大小:27.98KB
下载 相关 举报
c++经典编程题文档格式.docx_第1页
第1页 / 共13页
c++经典编程题文档格式.docx_第2页
第2页 / 共13页
c++经典编程题文档格式.docx_第3页
第3页 / 共13页
c++经典编程题文档格式.docx_第4页
第4页 / 共13页
c++经典编程题文档格式.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

c++经典编程题文档格式.docx

《c++经典编程题文档格式.docx》由会员分享,可在线阅读,更多相关《c++经典编程题文档格式.docx(13页珍藏版)》请在冰豆网上搜索。

c++经典编程题文档格式.docx

出现一次,这样的数阵叫N阶拉丁方阵。

例如下图就是一个五阶拉丁方阵。

编一程序,从键盘输入N值后,打印出所有不同的N阶拉丁方阵,并统计个数。

12345

23451

34512

45123

51234

5.输入一个十进数,将其转换成N进制数(0<

N<

=16)。

6.矩阵中填数.当给出N*N的矩阵,要求用程序填入下列形式的数:

①倒填,例如N=5 

②蛇形填数 

③回转填数

┌─┬─┬─┬─┬─┐ 

┌─┬─┬─┬─┬─┐ 

┌─┬─┬─┬─┬─┐

│25│24│23│22│21│ 

│1│3│4│10│11│ 

│1│16│15│14│13│

├─┼─┼─┼─┼─┤ 

├─┼─┼─┼─┼─┤ 

├─┼─┼─┼─┼─┤

│20│19│18│17│16│ 

│2│5│9│12│19│ 

│2│17│24│23│12│

│15│14│13│12│11│ 

│6│8│13│18│20│ 

│3│18│25│22│11│

│10│9│8│7│6│ 

│7│14│17│21│24│ 

│4│19│20│21│10│

│5│4│3│2│1│ 

│15│16│22│23│25│ 

│5│6│7│8│9│

└─┴─┴─┴─┴─┘ 

└─┴─┴─┴─┴─┘ 

└─┴─┴─┴─┴─┘

7.读入一行文本,包含若干个单词(以空格间隔,%结尾)。

将其中以A开头的

单词与以N结尾的单词,用头尾交换的办法予以置换。

8.输入两个正整数X,Y,将X,Y化为二进制数,然后将这两个二进制数作二进

制加法运算,再将结果化为十进制数输出。

9.四人玩火柴棍游戏,每一次都是三个人赢,一个人输。

输的人要按赢者手中的火柴

数进行赔偿,即赢者手中有多少根火柴棍,输者就赔偿多少根。

现知道玩过四次后,

每人恰好输过一次,而且每人手中都正好有16根火柴。

问此四人做游戏前手中各有

多少根火柴?

编程解决此问题。

10.如图1所示,编写程序计算 

┎┰┰┰┰┰┰┰┰┰┒

大大小小正方形共有多少?

当最小 

┠╂╂╂╂╂╂╂╂╂┨

正方行边长为1时,它们的总面积 

共为多少?

┖┸┸┸┸┸┸┸┸┸┚

11.巧排数字。

将1、2、...、20这20个数排成一排,使得相邻的两个数之

和为一个素数,且首尾两数字之和也为一个素数。

编程打印出所有的排法。

12.下图是一个集装箱仓库,阴影部分表示有集装箱存放不能通过,无阴影处为临时通

道。

当有人要从入口处到达出口处时,必须寻找可通过路线,请你找出可完成这个过程

的最方便(即用最短路线)到达出口处的路径。

┎┰┰┰入口┰┰┰┰┰┰┰┰┰┰┰┰┰┰┰┰┰┰┰┰┰┰┰┰┒

┠╂╂╂──╂╂╂╂┸┸╂┸┸╂┸┸╂┸┸╂╂╂╂┸┸╂╂╂┨

┠╂╂╂──╂┸┸╂──╂┰┰╂┰┰╂──╂╂╂╂──╂╂╂┨

┠╂╂╂──╂┰┰╂┰┰╂╂╂╂╂╂╂──╂┸┸╂──╂╂╂┨

┠╂╂╂──╂╂╂╂╂╂╂╂╂╂╂╂╂┰┰╂┰┰╂┰┰╂╂╂┨

┠╂╂╂──╂┸┸╂┸┸╂┸┸╂┸┸╂┸┸╂┸┸╂┸┸╂╂╂┨

┠╂╂╂──╂┰┰╂┰┰╂┰┰╂──╂┰┰╂──╂┰┰╂╂╂┨

┠╂╂╂──╂╂╂╂╂╂╂╂╂╂──╂╂╂╂──╂╂╂╂╂╂┨

┠╂╂╂──╂╂╂╂┸┸╂┸┸╂──╂╂╂╂──╂┸┸╂╂╂┨

┠╂╂╂──╂╂╂╂┰┰╂┰┰╂┰┰╂╂╂╂┰┰╂──╂╂╂┨

┖┸┸┸──┸┸┸┸┸┸┸┸┸┸┸┸┸┸┸┸┸┸┸出口┸┸┸┚

13.有N个硬币(N为偶数)正面朝上排成一排,每次将N-1个硬币翻过来放在原位

置,不断地重复上述过程,直到最后全部硬币翻成反面朝上为止。

编程让计算机把

翻币的最简过程及翻币次数打印出来(用*代表正面,O代表反面)。

14.有黑白棋子各有N个(分别用*和O代替),按下图方式排列

***...***OOO...OOO

N个黑棋 

N个白棋

允许将相邻两个棋子互换位置,最后使队形成黑白交替排列,试编程实现该操作。

15.已知6个城市,用c[i,j]表示从i城市到城市j是否有单向的直达汽车

(1=<

i〈=6,1〈=j〈=6),c[i,j]=1表示城市i到城市j有单向直达汽

车;

否则c[i,j]=0.试编制程序,对于给出的城市代号i,打印出从该城市出

发乘车(包括转车)可以到达的所有城市。

16.设有8枚硬币a,b,c,d,e,f,g,h,其中有一枚硬币是伪造的。

真伪硬币的区别仅是重量不同,可能重,可能轻。

今要求以天平为工具,用最少的

比较次数挑出伪造硬币,并鉴定它是重还是轻。

17.编写一个程序,当输入不超过60个字符组成的英文文字时,计算机将这个句子

中的字母按英文字典字母顺序重新排列,排列后的单词的长度要与原始句子中的长度

相同。

例如:

输入:

THEPRICEOFBREADIS¥125PERPOUND

输出:

ABCDDEEEEFHIINOOP¥125PPRRRSTU

并且要求只对A到Z的字母重新排列,其它字符保持原来的状态。

18.在一线性七个格位置的图上有两种不同颜色的棋子A,B.排列如下图所示,中间

格的位置为空。

┎─┰─┰─┰─┰─┰─┰─┒

┃A┃A┃A┃┃B┃B┃B┃

┖─┸─┸─┸─┸─┸─┸─┚

要求将A,B的现行位置交换,形成下图中的排列:

┃B┃B┃B┃┃A┃A┃A┃

移动棋子的条件:

(1)每个格中只准放一个棋子。

(2)任意一个棋子均可移动一格放入空格内。

(3)一方的棋子均可跳过另一方的一个棋子进入空格。

(4)任何棋子不得跳跃两个或两个以上棋子(无论颜色同异)

(5)任何一个颜色棋子只能向前跳,不准向后跳。

编程完成有关的移动,并且完成具有2N+1个格子的情形.其中两种颜色各有

N个棋子,且中间为空格.

19.(背包问题)有N件物品d1,......dN,每件物品重量为W1,...,WN

(Wi>

0),每件物品价值为V1,......VN(Vi>

0)。

用这N件物品的某个子集

填空背包,使得所取物品的总重量<

=TOTAL,并设法使得背包中物品的价值尽可

能高。

20.(N皇后)在国际象棋的棋盘上放置N个皇后,使其不能互相攻击,即任意

两个皇后不能处在棋盘的同一行,同一列,同一斜线上,试问共有多少种摆法?

21.请设计一个程序,由计算机把1.. ̄.8的八个自然数填入图中,使得横、

竖、对角任何两个相邻的小方格中的两个数是不连续的。

(下图右侧的4个图

为禁止的情形).

┌─┐ 

┌─┐

││ 

│4│ 

│8│

┌─┼─┼─┐ 

└─┼─┐ 

┌─┼─┘

││││ 

│5│ 

│7│

├─┼─┼─┤ 

└─┘ 

└─┘

└─┼─┼─┘ 

│6│ 

┌─┬─┐

├─┤ 

│1│2│

│7│ 

└─┴─┘

22.在一个4*4的小方格(如图所示)中放置8个*号,使得每行每列放且

仅放两个*号。

┌─┬─┬─┬─┐

│*│*│││

├─┼─┼─┼─┤

│*││*││

││*││*│

│││*│*│

└─┴─┴─┴─┘

求出所有的基本解。

23.(覆盖问题)有边长为N(N为偶数)的正方形,请你用N^2/2个长为2,

宽为1的长方形,将它全部覆盖。

编程打印出所有覆盖方法。

如:

N=4

┌─┬──┬─┐ 

┌──┬──┐

││1224 

│ 

│1122

│├──┤│ 

├──┼──┤

││1334 

│3344

├─┼──┼─┤ 

││5668 

│5566

││5778 

│7788

└─┴──┴─┘ 

└──┴──┘

24.某地街道把城市分割成矩形方格,每一方格叫作块,某人从家中出发上班,

向东要走M块,向北要走N块,(见图)。

请设计一个程序,由计算机寻找并

打印出所有的上班的路径。

单位

┬ 

┌─┬─┬─┬─┬─┬─┬─┐

││││││││

├─┼─┼─┼─┼─┼─┼─┤

↓ 

N 

↑ 

┴ 

└─┴─┴─┴─┴─┴─┴─┘

家 

├─────→M←─────┤

25.(量水)用存水为M,N升的两个罐子,量出A升水。

26.(八数码问题)8个编有数码1 ̄8的滑牌,能在3*3的井字格中滑动。

井字格中有一格是空格,用0表示,因而空格周围的数码滑牌都可能滑到空格中去.

下图是数码滑牌在井字格中的两种状态:

┎─┬─┬─┒ 

┏━┯━┯━┓

┃2│8│3┃ 

┃1│2│3┃

┠─┼─┼─┨ 

┠─┼─┼─┨

┃1│6│4┃ 

----> 

┃8│0│4┃

┃7│0│5┃ 

┃7│6│5┃

┗━┷━┷━┛ 

┗━┷━┷━┛

初始状态 

目标状态

以左图为初始状态,右图为目标状态,请找出从初始状态到目标状态的滑牌移步

序列,具体要求:

(1)输入初始状态和目标状态的数据;

a、分别用两行输入上述两项数据:

例:

Entertheinitialstate:

283164705

Enterthefinalstate:

123804765

b、对输入数据应有查错和示错功能;

(2)实现从初始状态到目标状态的转换(如不能实现,程序应输出不能实现

的提示信息);

(3)输出结果,每移动一步都必须在屏幕上显示:

a、移动每一步时的序号,最后一步的序号即为移动总步数;

b、每一步移动后以3*3表格形式显示状态。

(4)要求能使移动步数尽可能少;

27.给出一个有8个格子的表格,除3个格子外,每个格子中可放入一个数字,这

些数字取自自然数1到5,放入格子中的数字不得相同,剩余的3个格子是空格

(用O表示)。

图1是一个放数字与空格的特例。

现要求编程实现从初始表格状态

变化到目标表格状态。

初始状态和目标状态都是可变的(图1,图2所示的状态仅

是一个特例),由键盘输入格子中的数字(0 ̄5)。

移动规则:

(1)每一个数字只可以通过虚线移入相邻空格。

如图1中,允许“2”左移入空

格,而不能上移进入上面空格。

(2)只允许水平移动或垂直移动,不允许斜移。

(3)移动后,该数字原先所在的格子变成空格。

实现目标:

(1)输入初始表格状态和目标表格状态的数据。

①分别在一行内输入上述两项数据;

②对输入的数据应有查错和报错功能;

(2)实现从初始状态到目标状态的转换(如不能实现也应给出必要的说明)。

(3)显示结果:

每移动一步都应在屏幕上有如下信息:

①显示每一步移动的序号。

所以最后一步的序号就是移动的总步数。

②显示每一步移动前后的表格状态。

(4)以最少的移动步数达到目标。

┎─┰─┰─┒ 

┎─┰─┰─┒

┃3┃4┃0┃ 

┃0┃0┃0┃

┎─╂─╂╂─╂─┒ 

┎─╂─╂╂─╂─┒

┃01025┃ 

┃12345┃

┖─┸─┸─┸─┸─┚ 

┖─┸─┸─┸─┸─┚

图10-1 

图10-2

初始状态A 

目标状态B

28.n枚银币C1,C2,...,Cn,其中有一块不合格,不合格的银币比正常的要重。

现用

一天平找出不合格的一块,要求在最坏的情况下,用的天平次数最少。

29.把一段文章按要求排版。

文章的输入方式为:

由键盘输入一段以回车符结束的文章

(最大长度2000个字符)。

排版时以单词为基本单位。

单词由不含空格的任意字符组

成,是长度小于20个字符的串。

空格符是分隔单词的唯一字符,在输入时连续的空格

符在处理时应先化简为单个空格符。

在排版前应先输入,排版后每行的字符数为N,排

版后将整理好的文章按行输出。

输出时不能将一个完整的单词截断,并要求输出的总行

数最小。

将每个不足N个字符的行用空格补足,填充空格符的方式有以下三种。

1)将填充的空格符置于每行的末尾,并要求每行的起始为单词。

2)将填充的空格符置于每行的开始,并要求每行的末尾为单词。

3)将填充的空格符平均分配在每行中,并保证行的起始和末尾均为单词。

30.某机要部门安装了电子锁。

M个工作人员每人发一张磁卡,卡上有开锁的密码特征

为了确保安全,规定至少要有N个人同时使用各自的磁卡才能将锁打开。

问电子锁上至

少要有多少种特征?

每个人的磁卡上至少要有多少特征?

如果特征的编号以小写英文字

母表示,将每个人的磁卡的特征编号打印出来,要求输出的电子锁的总特征数最少。

设3<

=M<

=7,1<

=N<

=4,M与N由键盘输入,工作人员编号用1#,2#,...表示.

31.甲乙两人从24枚棋子中轮流取子,甲先取,规定每次所取的枚数不能多于上

一个人所取的枚数,也不可不取。

(1)甲第一次取多少枚才能保证甲取得最后一枚,当然,他也不能第一次就把

所有棋子都取走。

(2)讨论棋子总数N(一定是偶数)从6到30的各种情况。

讨论内容包括:

对各个N,是否存在一个小于N的枚数M,甲第一次取M枚后就能保证甲如果策略

正确,一定能取到最后一枚棋子。

32.(走棋)一个4*4的方阵如图。

有一个小卒从上往下走。

走至格子1后就

不能走动,走至0后,若下方为1,则向左或向右走,下方为0,则向下走。

求所

有走法。

│1│0│0│0│

│0│0│1│0│

│0│1│0│0│

33.(野人与传教士)设有三个传教士和三个野人来到河边,打算乘一只船从右

岸渡到左岸去。

该船最大负载能力为两人,在任何时候,如果野人人数超过传教士

人数,那么野人就会把传教士吃掉。

他们怎样才能用这条船安全地把所有人都渡过

河去呢?

34.(取棋子)设有N颗棋子,由人和计算机轮流从中取走若干颗。

每方每次最

多取K颗,最少取1颗(K值不能超过总数的一半,也不能小于1)。

试编写一程

序使计算机有较多的获胜机会。

屏幕输入提示:

(1)输入竞赛规则:

A.取最后一颗棋子的那一方为败.

B.取最后一颗棋子的那一方为胜.

(2)总共有多少颗棋子?

(3)一次最多取几颗?

(4)谁先取?

(5)每个回合都应显示:

A.你取几颗?

B.我取走......颗,还剩......颗.

(6)竞赛过程中发生违例时,打印出:

竞赛无法进行下去!

(7)竞赛结束后打印:

Iwin!

(我胜!

)或Youwin!

(你胜!

)。

35.(Grundy博弈)在两位选手面前放着一堆铜币。

第一位选手把原堆分成不相

等的两堆。

然后每个选手轮流地这样做,即当轮到某一方分时,他把已被分开的任

一堆再分成不相等的两堆。

博弈这样一直进行下去,直到每一堆都只剩下一个或两

个铜币为止,这时博弈结束。

规定首先遇到这种情况的选手为输。

36.猴子选大王:

①N只猴子站成一行,每隔M只从头到尾报数,反复进行,报过数的退出,打

印每次退出的猴子的编号,直到剩下一只为止。

②N只猴子站成一行,每M只报数。

先从头到尾,报到尾后,再返回从尾到头

报数,打印每次方向及过程,直到剩下二只时,以排到后面的(指报数方向)为大王。

③N只猴子围成一圈,从第P个开始,每隔M只报数,打印每次过程,只剩下

一个时为大王。

37.已知N个正整数满足K1+K2+...+Kn=M。

求一组最佳的分解,使得

K1*K2*....*Kn为最大。

例如:

N=2时,给定K1+K2=6,当K1=3,K2=3时,K1*K2=9

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

当前位置:首页 > 初中教育 > 英语

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

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