一个程序设计试题:读取2维字符数组,判断出表示的数字

有这样的字符矩阵,它可以表示1,2,3,4,5,6,7,8,9,0任意一个数字。
如下所示:
1:. . .
    . . |
    . . |
2: . _ .
    . _ |
    | _ .
3: . _ .
   . _ |
   . _ |
4: . . .
   | _ |
   . . |
5: . _ .
   | _ .
   . _ |
6: . _ .
   | _ .
   | _ |
7: . _ .
    . . |
    . . |
8: . _ .
   | _ |
   | _ |
9: . _ .
   | _ |
   . _ |
0: . _ .
   | .  |
   | _ |
可以认为,每个数字由char [3] [3] ch 字符数组组成的。
现在需要编写程序,读取字符数组,并且判断出这个字符数组表示的是具体哪个数字。程序还有要求:在扫描的过程中,可能会把某个_ 或 |

遗漏掉,导致字符数组不完整(最多遗漏掉一个),这就需要程序有容错和纠错能力,比如:
 2:  . _ .
     . _ |
     | _ .可以这么表示,
但是漏掉一个|后,变成这样:(丢掉了ch[2][1])
     . _ .
     . _ |
     . _ . 那么程序既可以认为是3 也可以是2,
因为: . _ .
       . _ |
       . _ |可以将|加到ch[2][2]位置,就变成了3.
还有,如果将1认为成7也是可以的:
   . .
   . . |
   . . | 因为如果认为扫描漏掉了ch[0][1]:将它加上_后就变成了7:
   . _ .
   . . |
   . . |。
所以,对于一个char[3][3]的字符数组,可以得出几个数字(最多为两个),需要程序输出这所有的可能情况。
这是一个程序试题,不会做,没有好的思路。不知道大虾们能不能给个好点的思路给我!
posted @ 2009-08-15 21:05  ChinaP  阅读(1946)  评论(17编辑  收藏  举报