有这样的字符矩阵,它可以表示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]的字符数组,可以得出几个数字(最多为两个),需要程序输出这所有的可能情况。
这是一个程序试题,不会做,没有好的思路。不知道大虾们能不能给个好点的思路给我!

转载于:https://www.cnblogs.com/ChinaPgm/archive/2009/08/15/1546914.html

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

  1. 输入5个学生的名字(英文),使用冒泡排序按从大到小排序。 提示:涉及到字符串数组,一个字符串是一个一维字符数组;一个 字符串数组就是一个二维字符数组。...

    输入5个学生的名字(英文),使用冒泡排序按从大到小排序. 提示:涉及到字符串数组,一个字符串是一个一维字符数组:一个 字符串数组就是一个二维字符数组. #include <stdio.h> ...

  2. C语言,判断二维字符数组是否存在回文字符串 例如:char a[] [10]={“asd“,“asa“,“werew“,“yuyu“};

    判断二维字符数组是否存在回文字符串 例如:char a[] [10]={"asd","asa","werew","yuyu&quo ...

  3. C语言中二维字符数组的定义和初始化

    继续将一些学习记录写下来,与大家分享.本篇日志关于二维字符数组的定义和初始化.我相信这篇文章属于菜鸟级的,高手请直接无视. 一般来说,我们可能会希望定义一个二维字符数组并且在定义的时候就用一些字符串来 ...

  4. c语言中定义字母二维数组,C语言中二维字符数组

    C语言中二维字符数组的定义和初始化 一般来说,我们可能会希望定义一个二维字符数组并且在定义的时候就用一些字符串来初始化它.比如说: Code: 1.char testcase[30][MAX_LENG ...

  5. C语言二维字符数组详解

    二维字符数组一般用于存储和处理多个字符串,二维字符数组中的每一行均可存储表示一个字符串. 二维字符数组的定义 二维字符数组的定义格式为: char 数组名[第一维大小][第二维大小]; 如: char ...

  6. c语言学习-从键盘输入10个字符,按照字典顺序将其排序输出(二维字符数组)

    从键盘输入10个字符,按照字典顺序将其排序输出(二维字符数组) 程序流程图: 代码: #include<stdio.h> void main() {int b[10]; int a[5][ ...

  7. C语言:用二维字符数组的每行存储键盘输入的字符串,将这些字符串按字典顺序升序排序,输出排序后的结果。

    /*C语言:用二维字符数组的每行存储键盘输入的字符串,将这些字符串按字典顺序升序排序,输出排序后的结果.*/#include <stdio.h> #include <conio.h& ...

  8. 剑指offer答案 c语言,剑指offer之C语言不修改数组找出重复的数字

    1  题目 不修改数组找出重复的数字 在一个长度为N+1的数组里面的所有数字都在范围1~N范围内,所以数组至少有一个数字是重复的,请找出重复数字,但是不能修改输入的数组. 2  思路 思路1: 我们开 ...

  9. C语言字符串类型定义(二维字符数组模拟连续存储多个字符串)(以小凡点名为例)

    经过dev-Cpp检验 #define _CRT_SECURE_NO_WARNINGS /* 老师让小凡来完成点名,让小凡在早自习的时候就点好名.老师给了小凡名单,小凡只要照着名单点名就好了是不是很简 ...

最新文章

  1. 【高斯消元】[HDU 3359][POJ3999][UVALive4741]Kind of a Blur
  2. linux常见操作命令及相关延伸
  3. Linux如何在线修改hostname
  4. 大数据入门笔记(三)
  5. cc2530学习笔记
  6. Common Knowledge_快速幂
  7. 本人24岁,女,现在是一所双非大学的大四本科生,被保研到了华中师范大学,应该去读吗?
  8. 我想自学C++,可以吗?需要注意些什么呢?
  9. 面向对象6:构造器、JavaBean、UML图、this的使用
  10. C语言从入门到精通——初阶6 指针
  11. excel合并计算机操作,Excel如何快速合并多个单元格的内容?
  12. 合理利用计算机虚拟内存,虚拟内存有什么用?虚拟内存怎么设置最好?
  13. pdf服务器签章系统,PDF离线签章工具使用方法
  14. acm第一周学习总结
  15. uniapp swiper组件被内容撑开
  16. Python常见问题之单双引号使用错误
  17. MIT JOS LAB12学习笔记
  18. 当编辑内容改变是后 选中内容 Range 的startOffset会被重置
  19. 关于pip下载很慢很慢
  20. JDBC:JDBC工具类JDBCUtils

热门文章

  1. NHibernate 做个小项目来试一下吧 一
  2. eclipse 插件打包发布
  3. 菜鸟也学hadoop(1)_搭建单节点的hadoop
  4. 制作一个大风车加载条
  5. DUMPE2FS(8)
  6. 重装系统后,快盘不能拷贝进文件的解决办法
  7. linq to sql报错,
  8. 在 Linux 中使用动态磁盘
  9. vue domo网站_DOMO与Tableau-逐轮
  10. mysql 查出相差年数_MySQL计算两个日期相差的天数、月数、年数