练习与自测

1.将数字1~9分为3组,使每组构成一个3位的平方数。

2.如下图所示,从顶端的6开始往下走(不能跳层或平走),到底部时所经过的数字之和能否为55?

练习与自测 - 图1

3.编程求出□内的数字。

练习与自测 - 图2

4.编写程序,要求能输入两个多项式,并求出这两个多项式的乘积。

5.求123.45610的精确值。

6.将一个不大于50的正整数分解为若干个由小到大的若干正整数之和,输出所有的可能。

7.八皇后问题。19世纪著名的数学家高斯在1850年曾提出过这样的问题:在8×8格的国际象棋上摆放8个皇后,使其不能互相攻击,即任意两个皇后都不能处于同一行、同一列或同一斜线上,问有多少种摆法。其后的近一个世纪的时间里,许多人一直在求解这个问题。计算机发明后,这个问题变得异常简单。请编程解决高斯的这个问题。

8.从甲地到乙地可坐飞机、火车、汽车,从乙地到丙地可坐飞机、火车、汽车、轮船,某人从甲地到两地可有几种走法。

9.有两个值在1~30之间(含1和30)的整数,甲知道两数之和,乙知道两数之积。甲问乙:你知道这两个数是什么吗?乙说:不知道。乙又问甲:你知道这两个数是什么吗?甲说:我不知道。然后乙说:哦,那我知道这两个数是什么了。甲又说:我也知道了。编程求这两个数是什么?

10.有一张五元币,4张贰元币,8张壹元币,要拿出8元钱,可以有几种拿法。

11.有长度为2厘米、3厘米、4厘米、5厘米、6厘米的线段各一条,如果以其中的3条为三边作三角形:

(1)三边中一边为3厘米的三角形有几个?

(2)三边中两边为3厘米、4厘米的有几个?

(3)一共可作几个不同的三角形。

12.在一条街上,有5座房子,喷了5种颜色。每个房子了住着不同国籍的人,每个人喝着不同的饮料,抽不同品牌的香烟,养着不同的宠物。已知:

英国人住红色房子;

瑞典人养狗;

丹麦人喝茶;

绿色房子在白色房子的左边;

绿色房子的主人喝咖啡;

抽PallMall香烟的人养鸟;

黄色房子的主人抽Dunhill香烟;

住中间房子的人喝牛奶;

挪威人住左边第一间房子;

抽Blends香烟的人住在养猫的人的隔壁;

养马的人住在抽Dunhill香烟人的隔壁;

抽Bluemaster的人喝啤酒;

德国人抽Prince香烟;

挪威人住在蓝色房子的隔壁;

抽Blends香烟的人有一个喝水的邻居;

问题是谁养鱼?他住什么颜色的房子?

13.一只大桶里盛着12升汽油,要求把它们分成两份,每份6升,可是旁边没有量器,只有一只能装9升和一只能装5升的空桶,请你利用这3只桶倒来倒去,把汽油平分开来。

14.将1~9填在图中的圆圈内,要求三边4个数相加的和相等,并且分别实现(1)三边4个数相加的和要最小;(2)三边4个数相加的和要最大。

练习与自测 - 图3

15.一个5×5的国际象棋棋盘,“马”从左上角出发,按“日”字跳马,要求不重复地跳经所有位置。求出符合规则的所有方案。

16.设计程序走出下图的迷宫,起点为左上角,终点为右下角。

练习与自测 - 图4

————————————————————

(1) 在C99中,“[]”内也可能写一个整数类型的变量;个别情况下“[]”内可以不写任何内容,这种情况是不完整类型,将在后面专门论述。

(2) 其实我也没见过,这是我灵机一动想到的。

(3) 早期的程序员都悭于打字,是些“以当程序员为荣,以当打字员为耻”的家伙。

(4) 不要杞人忧天地为我担心,这个写法一点毛病都没有,不信你试试。

(5) 也可以说“f”是一三维数组,三维数组有7×8×9个元素,每个元素都是指针。2.复杂数据类型的名字及解读