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

面试题 相关文章推荐
SQL中where和having的区别
Jun 17 面试题
简述网络文件系统NFS,并说明其作用
Oct 19 面试题
简单说下OSPF的操作过程
Aug 13 面试题
在c#中using和new这两个关键字有什么意义
May 19 面试题
27个经典Linux面试题及答案,你知道几个?
Mar 11 面试题
在对linux系统分区进行格式化时需要对磁盘簇(或i节点密度)的大小进行选择,请说明选择的原则
Jan 13 面试题
百度软件工程师职位
Feb 14 面试题
如何整合JQuery和Prototype
Jan 31 面试题
如何提高MySql的安全性
Jun 19 面试题
Java程序开发中如何应用线程
Mar 03 面试题
Ruby如何定义一个类
Oct 08 面试题
解释下列WebService名词:WSDL、SOAP、UDDI
Jun 22 面试题
c/c++某大公司的两道笔试题
Feb 02 #面试题
在C语言中"指针和数组等价"到底是什么意思?
Mar 24 #面试题
递归实现回文判断(如:abcdedbca就是回文,判断一个面试者对递归理解的简单程序)
Apr 28 #面试题
C语言面试题
May 19 #面试题
C有"按引用传递"吗
Sep 06 #面试题
求高于平均分的学生学号及成绩
Sep 01 #面试题
上海方立数码笔试题
Oct 18 #面试题
You might like
PHP最常用的2种设计模式工厂模式和单例模式介绍
2012/08/14 PHP
windwos下使用php连接oracle数据库的过程分享
2014/05/26 PHP
PHP数学运算与数据处理实例分析
2016/04/01 PHP
php好代码风格的阶段性总结
2016/06/25 PHP
PHP微信支付实例解析
2016/07/22 PHP
浅谈ThinkPHP中initialize和construct的区别
2017/04/01 PHP
Yii框架的布局文件实例分析
2019/09/04 PHP
基于jQuery实现的双11天猫拆红包抽奖效果
2015/12/01 Javascript
angular2模块和共享模块详解
2018/04/08 Javascript
微信小程序页面滚动到指定位置代码实例
2019/09/07 Javascript
Vue自定义指令结合阿里云OSS优化图片的实现方法
2019/11/12 Javascript
[03:49]DOTA2 2015国际邀请赛中国区预选赛第二日现场百态
2015/05/27 DOTA
python 布尔操作实现代码
2013/03/23 Python
Python通过90行代码搭建一个音乐搜索工具
2015/07/29 Python
深入浅出分析Python装饰器用法
2017/07/28 Python
Python日期时间Time模块实例详解
2019/04/15 Python
详解用python写一个抽奖程序
2019/05/10 Python
Python安装tar.gz格式文件方法详解
2020/01/19 Python
Python表达式的优先级详解
2020/02/18 Python
python datetime时间格式的相互转换问题
2020/06/11 Python
Python3利用scapy局域网实现自动多线程arp扫描功能
2021/01/21 Python
移动端Web页面的CSS3 flex布局快速上手指南
2016/05/31 HTML / CSS
世界上最好的儿童品牌:AlexandAlexa
2018/01/27 全球购物
意大利和国际奢侈品牌购物网站:Suitnegozi.com
2021/01/15 全球购物
总账会计岗位职责
2014/03/13 职场文书
成龙霸王洗发水广告词
2014/03/14 职场文书
致百米运动员广播稿5篇
2014/10/13 职场文书
2014年统计工作总结
2014/11/21 职场文书
民事撤诉申请书范本
2015/05/18 职场文书
2015年宣传思想工作总结
2015/05/22 职场文书
感动中国何玥观后感
2015/06/02 职场文书
MySQL 可扩展设计的基本原则
2021/05/14 MySQL
教你做个可爱的css滑动导航条
2021/06/15 HTML / CSS
阿里云 Windows server 2019 配置FTP
2022/04/28 Servers
Python开发五子棋小游戏
2022/04/28 Python
Nginx如何配置根据路径转发详解
2022/07/23 Servers