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...

面试题 相关文章推荐
PHP面试题大全
Oct 16 面试题
String和StringBuffer的区别
Aug 13 面试题
新电JAVA笔试题目
Aug 31 面试题
在C语言中实现抽象数据类型什么方法最好
Jun 26 面试题
聚网科技C++面试笔试题
Sep 01 面试题
DBA的职责都有哪些
May 16 面试题
Oracle性能调优原则
May 03 面试题
什么是URL
Dec 13 面试题
什么叫做SQL注入,如何防止
Oct 04 面试题
非常详细的C#面试题集
Jul 13 面试题
Tomcat的缺省是多少,怎么修改
Apr 09 面试题
ruby如何进行集成操作?Ruby能进行多重继承吗?
Oct 16 面试题
c/c++某大公司的两道笔试题
Feb 02 #面试题
在C语言中"指针和数组等价"到底是什么意思?
Mar 24 #面试题
递归实现回文判断(如:abcdedbca就是回文,判断一个面试者对递归理解的简单程序)
Apr 28 #面试题
C语言面试题
May 19 #面试题
C有"按引用传递"吗
Sep 06 #面试题
求高于平均分的学生学号及成绩
Sep 01 #面试题
上海方立数码笔试题
Oct 18 #面试题
You might like
Php Image Resize图片大小调整的函数代码
2011/01/17 PHP
ThinkPHP中自定义目录结构的设置方法
2014/08/15 PHP
PHP原生函数一定好吗?
2014/12/08 PHP
PHP生成plist数据的方法
2015/06/16 PHP
PHP中strnatcmp()函数“自然排序算法”进行字符串比较用法分析(对比strcmp函数)
2016/01/07 PHP
yii2 在控制器中验证请求参数的使用方法
2019/06/19 PHP
HTML代码中标签的全部属性 中文注释说明
2009/03/26 Javascript
js中匿名函数的N种写法
2010/09/08 Javascript
javaScript 计算两个日期的天数相差(示例代码)
2013/12/27 Javascript
JavaScript搜索字符串并将搜索结果返回到字符串的方法
2015/04/06 Javascript
鼠标经过子元素触发mouseout,mouseover事件的解决方案
2015/07/26 Javascript
使用jquery获取url及url参数的简单实例
2016/06/14 Javascript
微信小程序 引用其他js文件实现代码
2017/02/22 Javascript
JavaScript 值类型和引用类型的初次研究(推荐)
2017/07/19 Javascript
简单实现js鼠标跟随效果
2020/08/02 Javascript
vue多种弹框的弹出形式的示例代码
2017/09/18 Javascript
移动端效果之IndexList详解
2017/10/20 Javascript
jQuery实现滚动效果
2017/11/17 jQuery
Angular2整合其他插件的方法
2018/01/20 Javascript
js与jQuery实现获取table中的数据并拼成json字符串操作示例
2018/07/12 jQuery
[49:41]NB vs NAVI Supermajor小组赛A组 BO3 第一场 6.2
2018/06/03 DOTA
常用python数据类型转换函数总结
2014/03/11 Python
Python实现远程调用MetaSploit的方法
2014/08/22 Python
Python3实现从指定路径查找文件的方法
2015/05/22 Python
利用Python+Java调用Shell脚本时的死锁陷阱详解
2018/01/24 Python
详解Python发送email的三种方式
2018/10/18 Python
解决python 上传图片限制格式问题
2019/10/30 Python
python中Lambda表达式详解
2019/11/20 Python
pytorch nn.Conv2d()中的padding以及输出大小方式
2020/01/10 Python
Python基础之字符串操作常用函数集合
2020/02/09 Python
Django模板报TemplateDoesNotExist异常(亲测可行)
2020/12/18 Python
美国精油公司:Plant Therapy
2019/05/17 全球购物
酒店led欢迎词
2014/01/09 职场文书
廉政承诺书2015
2015/04/28 职场文书
学校推普周活动总结
2015/05/07 职场文书
windows安装python超详细图文教程
2021/05/21 Python