| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 4108 人关注过本帖, 4 人收藏
标题:C入门必做的题--转载
取消只看楼主 加入收藏
youyouzizi
Rank: 1
来 自:武汉
等 级:新手上路
帖 子:15
专家分:0
注 册:2008-6-11
收藏(4)
 问题点数:0 回复次数:0 
C入门必做的题--转载
转自CSDN
给新手们练练(我也是),大侠们就不要帖答案了
1.  给定等式  A B C D E    其中每个字母代表一个数字,且不同数字对应不
                  D F G    同字母。编程求出这些数字并且打出这个数字的
            +    D F G    算术计算竖式。
          ───────
              X Y Z D E


  2. A、B、C、D、E五名学生有可能参加计算机竞赛,根据下列条件判断哪些
  人参加了竞赛:

  (1)A参加时,B也参加;

  (2)B和C只有一个人参加;

  (3)C和D或者都参加,或者都不参加;

  (4)D和E中至少有一个人参加;

  (5)如果E参加,那么A和D也都参加。


  3. 打印一个 N*N 的方阵,N为每边          N=15  打印出下面图形
字符的个数(3<N<20), 要求最              TTTTTTTTTTTTTTT
外一层为"T", 第二层为"J", 从第三层              TJJJJJJJJJJJJJT
起每层依次打印数字 1,2,3,...                    TJ11111111111JT
(右图以N为15为例)                          TJ12222222221JT
                                                  TJ12333333321JT
                                                  TJ12344444321JT
                                                  TJ12345554321JT
                                                  TJ12345654321JT
                                                  TJ12345554321JT
                                                  TJ12344444321JT
                                                  TJ12333333321JT
                                                  TJ12222222221JT
                                                  TJ11111111111JT
                                                  TJJJJJJJJJJJJJT
                                                  TTTTTTTTTTTTTTT


  4. 在N行N列的数阵中, 数K(1〈=K〈=N)在每行和每列中出现且仅
  出现一次,这样的数阵叫N阶拉丁方阵。例如下图就是一个五阶拉丁方阵。
  编一程序,从键盘输入N值后,打印出所有不同的N阶拉丁方阵,并统计个数。

        1  2  3  4  5
        2  3  4  5  1
        3  4  5  1  2
        4  5  1  2  3
        5  1  2  3  4


  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个字符组成的英文文字时,计算机将这个句子
中的字母按英文字典字母顺序重新排列,排列后的单词的长度要与原始句子中的长度
相同。例如:

    输入:

    THE PRICE OFBREAD IS ¥1 25 PER POUND

    输出:

    ABC DDEEE EFHIINO OP ¥1 25 PPR RRSTU

并且要求只对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块,(见图)。请设计一个程序,由计算机寻找并
打印出所有的上班的路径。

                                              单位

           ┌─┬─┬─┬─┬─┬─┬─┐
                         
           ├─┼─┼─┼─┼─┼─┼─┤
                         
           ├─┼─┼─┼─┼─┼─┼─┤
                         
           ├─┼─┼─┼─┼─┼─┼─┤
                         
           └─┴─┴─┴─┴─┴─┴─┘
           ├─────→M←─────┤
搜索更多相关主题的帖子: 入门 
2008-06-13 10:42
快速回复:C入门必做的题--转载
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.013627 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved