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如何防止SQL注入
May 03 面试题
您熟悉ORM(Object-Relation Mapping)吗?请谈谈您所理解的ORM
Feb 08 面试题
extern在函数声明中是什么意思
Jan 19 面试题
威盛公司软件C++工程师笔试题面试题
Jul 16 面试题
为什么会有内存对齐
Oct 10 面试题
金蝶的一道SQL笔试题
Dec 18 面试题
一道SQL面试题
Dec 31 面试题
Does C# support multiple inheritance? (C#支持多重继承吗)
Jan 04 面试题
星空联盟C# .net笔试题
Dec 05 面试题
ShellScript面试题一则-ShellScript编程
Jun 24 面试题
MYSQL基础面试题
May 13 面试题
JAVA软件工程师测试题
Jul 25 面试题
c/c++某大公司的两道笔试题
Feb 02 #面试题
在C语言中"指针和数组等价"到底是什么意思?
Mar 24 #面试题
递归实现回文判断(如:abcdedbca就是回文,判断一个面试者对递归理解的简单程序)
Apr 28 #面试题
C语言面试题
May 19 #面试题
C有"按引用传递"吗
Sep 06 #面试题
求高于平均分的学生学号及成绩
Sep 01 #面试题
上海方立数码笔试题
Oct 18 #面试题
You might like
PHP设计模式之代理模式的深入解析
2013/06/13 PHP
php生成图形验证码几种方法小结
2013/08/15 PHP
php获取301跳转URL简单实例
2013/12/16 PHP
PHP中substr()与explode()函数用法分析
2014/11/24 PHP
php pthreads多线程的安装与使用
2016/01/19 PHP
php读取XML的常见方法实例总结
2017/04/25 PHP
thinkphp5 migrate数据库迁移工具
2018/02/20 PHP
PHP自动载入类文件函数__autoload的使用方法
2019/03/25 PHP
JavaScript 替换Html标签实现代码
2009/10/14 Javascript
jQuery AJAX 调用WebService实现代码
2010/03/24 Javascript
基于jquery的图片的切换(以数字的形式)
2011/02/14 Javascript
使用Json比用string返回数据更友好,也更面向对象一些
2011/09/13 Javascript
js简单实现让文本框内容逐个字的显示出来
2013/10/22 Javascript
Javascript Ajax异步读取RSS文档具体实现
2013/12/12 Javascript
js 动态给元素添加、移除事件的实现方法
2016/07/19 Javascript
JavaScript 总结几个提高性能知识点(推荐)
2017/02/20 Javascript
Bootstrap实现翻页效果
2017/11/27 Javascript
使用vue的transition完成滑动过渡的示例代码
2018/06/25 Javascript
微信小程序下拉加载和上拉刷新两种实现方法详解
2019/09/05 Javascript
详解javascript中var与ES6规范中let、const区别与用法
2020/01/11 Javascript
[01:52]2014DOTA2西雅图邀请赛 V社开大会你不知道的小秘密
2014/07/08 DOTA
[03:16]DOTA2完美大师赛主赛事首日集锦
2017/11/23 DOTA
python微信跳一跳游戏辅助代码解析
2018/01/29 Python
漂亮的Django Markdown富文本app插件的实现
2019/01/02 Python
Django media static外部访问Django中的图片设置教程
2020/04/07 Python
pycharm 对代码做静态检查操作
2020/06/09 Python
python中Mako库实例用法
2020/12/31 Python
如何用用Python将地址标记在地图上
2021/02/07 Python
档案接收函范文
2014/01/10 职场文书
不打扫卫生检讨书
2014/02/12 职场文书
做一个有道德的人演讲稿
2014/05/14 职场文书
工作表现证明
2015/06/15 职场文书
2016新年年会主持词
2015/07/06 职场文书
趣味运动会通讯稿
2015/07/18 职场文书
2016年“六一儿童节”校园广播稿
2015/12/17 职场文书
2016年敬老月活动总结
2016/04/05 职场文书