C语言编程练习


Posted in 面试题 onApril 02, 2012
习题描述
本程序的功能是对中国导航的数据中的部分道路情况数据进行整理,分析,查询,排序。
原始数据存储在一个GTBL.dat的二进制文件中,具体的文件格式请参照ReveseTableFormat.xls 中的“逆引表格式”sheet.
在Kiwi格式中,每个道路都是被赋予了独一无二的编号,这个编号叫做LinkID,在GTBL.dat这个文件中存储着部分道路情况的数据,他们是无序存储的(针对LinkID来说是无序的)。
提供的功能:
1) 读取GTBL.dat, 根据LinkID重新排序输出到新的二进制文件,格式同 ”逆引表格式”。
2) 检索:
a. 根据LinkID查找指定的Link的相关情报并输出到控制台或者文件(文本格式)。
b. 查找指定 交叉Link列表示Class番号 的所有Link的集合。
c. 查找岔路数> n 的所有Link的集合, n由用户输入。
d. 指定道路名称检索。

输出格式:
#linked=1234;roadnameflag=1;brunch=2;dispclass=3; roadname=青年大街#(如果没有名称(roadnameflag == 0 ), 则不输出roadname=青年大街这个条目)
如果查到的纪录的个数>5个,则输出到指定文件中(文件放在当前目录中,请用 searchresultxxx.txt 命名, xxx是检索次数的记录,比如第一次检索,则xxx是 001, 以此类推。)

3) 从Link情报输入文件中读取指定的Link情报,插入到GTBL.dat中并保存,如果对应的LinkID已经存在,则替换,否则插入。(文件的格式参照ReveseTableFormat.xls 中的“Link情报输入文件格式”sheet, sourcelink.txt 是一个例子文件,大家可以自己编写这个文件)。 具体的操作是每按一次回车,就从文件中读取下一个Link的情报,输出到界面,并且执行插入或者替换操作。
这些插入的记录需要保存到GTBL.dat和排序后的文件中。
1. 具体要求
1). 需要划分出至少 3个或者以上的模块。
2). 具有较高的处理速度
3). 较少的内存消耗,比如对于道路名称,有的link没有,则不分配空间。
4). 具有较好的维护性和易读性.
5). 较好的健壮性(错误的用户输入处理等)
2. 考察点
1) 设计概念
2) 文件操作
3) 内存、指针、字符串操作
4) 链表数据结构的使用。
5) 排序算法
6) 位运算
4. 其他:
使用控制台的程序必须有两个层次的选择菜单
1) 排序输出
2) 检索
a. 指定linkID检索
b. 指定交叉Link列表示Class番号 检索
c. 指定查找岔路数 检索
d. 指定道路名称 检索
3) 更新
使用Windows编程的,则形式可以灵活选择。
注:学会用top-down
注意用assert

Tags in this post...

面试题 相关文章推荐
枚举和一组预处理的#define有什么不同
Sep 21 面试题
SQL面试题
Dec 09 面试题
Internal修饰符有什么含义
Jul 10 面试题
HSRP的含义以及如何工作
Sep 10 面试题
linux下进程间通信的方式
Dec 23 面试题
什么是makefile? 如何编写makefile?
Aug 08 面试题
Python面试题:Python是如何进行内存管理的
Aug 04 面试题
继承时候类的执行顺序问题,一般都是选择题,问你将会打印出什么?
Nov 18 面试题
Java如何调用外部Exe程序
Jul 04 面试题
若干个Java基础面试题
May 19 面试题
如何在Shell脚本中使用函数
Sep 06 面试题
J2EE面试题
Mar 14 面试题
c/c++某大公司的两道笔试题
Feb 02 #面试题
在C语言中"指针和数组等价"到底是什么意思?
Mar 24 #面试题
递归实现回文判断(如:abcdedbca就是回文,判断一个面试者对递归理解的简单程序)
Apr 28 #面试题
C语言面试题
May 19 #面试题
C有"按引用传递"吗
Sep 06 #面试题
求高于平均分的学生学号及成绩
Sep 01 #面试题
上海方立数码笔试题
Oct 18 #面试题
You might like
解析php DOMElement 操作xml 文档的实现代码
2013/05/10 PHP
symfony表单与页面实现技巧
2015/01/26 PHP
Zend Framework教程之前端控制器Zend_Controller_Front用法详解
2016/03/07 PHP
降低PHP Redis内存占用
2017/03/23 PHP
对php 判断http还是https,以及获得当前url的方法详解
2019/01/15 PHP
javascript 原型模式实现OOP的再研究
2009/04/09 Javascript
获取元素距离浏览器周边的位置的方法getBoundingClientRect
2013/04/17 Javascript
js实现点击获取验证码倒计时效果
2021/01/28 Javascript
jQuery数据检索中根据关键字快速定位GridView指定行的实现方法
2016/06/08 Javascript
jQuery的ajax中使用FormData实现页面无刷新上传功能
2017/01/16 Javascript
Angular异步变同步处理方法
2018/08/13 Javascript
react 父子组件之间通讯props
2018/09/08 Javascript
在webstorm开发微信小程序之使用阿里自定义字体图标的方法
2018/11/15 Javascript
JS使用canvas中的measureText方法测量字体宽度示例
2019/02/02 Javascript
使用JS来动态操作css的几种方法
2019/12/18 Javascript
浅谈vue中$bus的使用和涉及到的问题
2020/07/28 Javascript
python实现排序算法
2014/02/14 Python
Python实现基本数据结构中栈的操作示例
2017/12/04 Python
Python输出由1,2,3,4组成的互不相同且无重复的三位数
2018/02/01 Python
pandas的object对象转时间对象的方法
2018/04/11 Python
python散点图实例之随机漫步
2018/08/27 Python
Windows 8.1 64bit下搭建 Scrapy 0.22 环境
2018/11/18 Python
使用python将请求的requests headers参数格式化方法
2019/01/02 Python
python实现自动化上线脚本的示例
2019/07/01 Python
如何运行带参数的python脚本
2019/11/15 Python
在tensorflow中设置保存checkpoint的最大数量实例
2020/01/21 Python
django admin 根据choice字段选择的不同来显示不同的页面方式
2020/05/13 Python
如何将json数据转换为python数据
2020/09/04 Python
html5 localStorage本地存储_动力节点Java学院整理
2017/07/06 HTML / CSS
Juice Beauty官网:有机美容产品,护肤与化妆品
2020/06/13 全球购物
收银员的岗位职责范本
2014/02/04 职场文书
销售人才自我评价范文
2014/09/27 职场文书
2015年党员自我剖析材料
2014/12/17 职场文书
财务人员入职担保书
2015/09/22 职场文书
通过T-SQL语句创建游标与实现数据库加解密功能
2022/03/16 SQL Server
Python+Tkinter打造签名设计工具
2022/04/01 Python