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

面试题 相关文章推荐
main 主函数执行完毕后,是否可能会再执行一段代码,给出说明
Dec 05 面试题
上海方立数码笔试题
Oct 18 面试题
以下的初始化有什么区别
Dec 16 面试题
请解释virtual关键字的含义
Jun 17 面试题
STP的判定过程
Oct 01 面试题
天网面试题
Apr 07 面试题
性能测试工程师的面试题
Feb 20 面试题
如果重写了对象的equals()方法,需要考虑什么
Nov 02 面试题
同步和异步有何异同,在什么情况下分别使用他们
Apr 09 面试题
北京振戎融通Java面试题
Sep 03 面试题
JSF的标签库有哪些
Apr 27 面试题
Java面试题冲刺第十八天--Spring框架3
Aug 07 面试题
c/c++某大公司的两道笔试题
Feb 02 #面试题
在C语言中"指针和数组等价"到底是什么意思?
Mar 24 #面试题
递归实现回文判断(如:abcdedbca就是回文,判断一个面试者对递归理解的简单程序)
Apr 28 #面试题
C语言面试题
May 19 #面试题
C有"按引用传递"吗
Sep 06 #面试题
求高于平均分的学生学号及成绩
Sep 01 #面试题
上海方立数码笔试题
Oct 18 #面试题
You might like
PHP新手上路(七)
2006/10/09 PHP
PHP如何编写易读的代码
2007/07/10 PHP
php 远程图片保存到本地的函数类
2008/12/08 PHP
php的ajax框架xajax入门与试用介绍
2010/12/19 PHP
php使用COPY函数更新配置文件的方法
2015/06/18 PHP
PHP使用SOAP扩展实现WebService的方法
2016/04/01 PHP
详解thinkphp实现excel数据的导入导出(附完整案例)
2016/12/29 PHP
用htc组件制作windows选项卡
2007/01/13 Javascript
超级酷和最实用的jQuery实例收集(20个)
2010/04/21 Javascript
再谈javascript图片预加载技术(详细演示)
2011/03/12 Javascript
JS 如果改变span标签的是否隐藏属性
2011/10/06 Javascript
基于OO的动画附加插件,可以实现弹跳、渐隐等动画效果 分享
2013/06/24 Javascript
JavaScript也谈内存优化
2014/06/06 Javascript
《JavaScript函数式编程》读后感
2015/08/07 Javascript
聊一聊Vue.js过渡效果
2016/09/07 Javascript
使用JS正则表达式 替换括号,尖括号等
2016/11/29 Javascript
详解vue项目打包后通过百度的BAE发布到网上的流程
2018/03/05 Javascript
vue下拉列表功能实例代码
2018/04/08 Javascript
微信小程序获取位置展示地图并标注信息的实例代码
2019/09/01 Javascript
微信小程序 动态修改页面数据及参数传递过程详解
2019/09/27 Javascript
mpvue微信小程序的接口请求fly全局拦截代码实例
2019/11/13 Javascript
如何在微信小程序中使用骨架屏的步骤
2020/06/12 Javascript
跟老齐学Python之集合的关系
2014/09/24 Python
python二分查找算法的递归实现方法
2016/05/12 Python
使用python读取csv文件快速插入数据库的实例
2018/06/21 Python
基于python if 判断选择结构的实例详解
2019/05/06 Python
搞清楚 Python traceback的具体使用方法
2019/05/13 Python
python把转列表为集合的方法
2019/06/28 Python
Xadmin+rules实现多选行权限方式(级联效果)
2020/04/07 Python
python3 配置logging日志类的操作
2020/04/08 Python
世界上最全面的草药补充剂和顶级品牌维生素网站:HerbsPro
2019/01/20 全球购物
绘儿乐产品官方在线商店:Crayola.com
2019/09/07 全球购物
short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错?
2014/09/26 面试题
出国留学单位推荐信
2015/03/26 职场文书
vue实现可以快进后退的跑马灯组件
2022/04/08 Vue.js
Nginx如何限制IP访问只允许特定域名访问
2022/07/23 Servers