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 14 面试题
普通PHP程序员笔试题
Jan 01 面试题
Yahoo-PHP面试题4
May 05 面试题
类的核心特性有哪些
Jan 01 面试题
为数据库创建索引都需要注意些什么
Jul 17 面试题
SQL面试题
Apr 30 面试题
什么是Oracle的后台进程background processes?都有哪些后台进程?
Apr 26 面试题
某科技软件测试面试题
May 19 面试题
EJB2和EJB3在架构上的不同点
Sep 29 面试题
What is EJB
Jul 22 面试题
Overload和Override的区别。Overloaded的方法是否可以改变返回值的类型
Oct 30 面试题
Java Servlet的主要功能和作用是什么
Feb 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中通过curl检测页面是否被百度收录
2013/09/27 PHP
CentOS下PHP安装Oracle扩展
2015/02/15 PHP
php实现的一段简单概率相关代码
2016/05/30 PHP
laravel-admin 中列表筛选方法
2019/10/03 PHP
Alliance vs Liquid BO3 第三场2.13
2021/03/10 DOTA
JQuery 表格操作(交替显示、拖动表格行、选择行等)
2009/07/29 Javascript
百度留言本js 大家可以参考下
2009/10/13 Javascript
用JavaScript修改CSS属性的代码
2013/05/06 Javascript
jQuery取得select选择的文本与值的示例
2013/12/09 Javascript
jquery.post用法关于type设置问题补充
2014/01/03 Javascript
Javascript核心读书有感之类型、值和变量
2015/02/11 Javascript
跟我学习javascript的prototype,getPrototypeOf和__proto__
2015/11/17 Javascript
jquery siblings获取同辈元素用法实例分析
2016/07/25 Javascript
vue1.0和vue2.0的watch监听事件写法详解
2018/09/11 Javascript
JS实现判断有效的数独算法示例
2019/02/25 Javascript
Vue使用localStorage存储数据的方法
2019/05/27 Javascript
JS中的算法与数据结构之队列(Queue)实例详解
2019/08/20 Javascript
[02:05]2014DOTA2西雅图邀请赛 老队长全明星大猜想谁不服就按进显示器
2014/07/08 DOTA
Python实现二分查找与bisect模块详解
2017/01/13 Python
老生常谈Python序列化和反序列化
2017/06/28 Python
python smtplib模块自动收发邮件功能(二)
2018/05/22 Python
Python实现将HTML转成PDF的方法分析
2019/05/04 Python
Python学习笔记之集合的概念和简单使用示例
2019/08/22 Python
Python类反射机制使用实例解析
2019/12/30 Python
Python调用Windows API函数编写录音机和音乐播放器功能
2020/01/05 Python
css3的transition属性详解
2014/12/15 HTML / CSS
性能服装:HYLETE
2018/08/14 全球购物
主要的Ajax框架都有什么
2013/11/14 面试题
涉外文秘个人求职的自我评价
2013/10/07 职场文书
商场拾金不昧表扬信
2014/01/13 职场文书
家具公司总经理岗位职责
2014/07/08 职场文书
2015年个人现实表现材料
2014/12/10 职场文书
幼师辞职信范文
2015/02/27 职场文书
首都博物馆观后感
2015/06/05 职场文书
2015年财务人员个人工作总结
2015/07/27 职场文书
信息技术课教学反思
2016/02/23 职场文书