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

面试题 相关文章推荐
描述一下JVM加载class文件的原理机制
Dec 08 面试题
一套C++笔试题面试题
Jun 06 面试题
database面试题
Mar 28 面试题
简述数据库的设计过程
Jun 22 面试题
用C#语言写出与SQLSERVER访问时的具体过程
Apr 16 面试题
使用C#编写创建一个线程的代码
Jan 22 面试题
某科技软件测试面试题
May 19 面试题
软件测试有哪些?什么是配置项?
Feb 12 面试题
敏捷开发的主要原则都有哪些
Apr 26 面试题
JVM是一个编译程序还是解释程序
Sep 11 面试题
怎样自定义一个异常类
Sep 27 面试题
95%的面试官都会问到的50道Java线程题,附答案
Aug 03 面试题
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天
2008/06/15 PHP
PHP中使用addslashes函数转义的安全性原理分析
2014/11/03 PHP
php生成Android客户端扫描可登录的二维码
2016/05/13 PHP
jquery ajax提交表单数据的两种方式
2009/11/24 Javascript
Javascript 网页水印(非图片水印)实现代码
2010/03/01 Javascript
基于PHP和Mysql相结合使用jqGrid读取数据并显示
2015/12/02 Javascript
js编写贪吃蛇的小游戏
2020/08/24 Javascript
Node.js实用代码段之获取Buffer对象字节长度
2016/03/17 Javascript
微信公众号 客服接口的开发实例详解
2016/09/28 Javascript
js仿小米官网图片轮播特效
2016/09/29 Javascript
jquery获取table指定行和列的数据方法(当前选中行、列)
2016/11/07 Javascript
微信小程序 获取相册照片实例详解
2016/11/16 Javascript
利用JS实现页面删除并重新排序功能
2016/12/09 Javascript
JavaScript 限制文本框不可输入英文单双引号的方法
2016/12/20 Javascript
详解使用nvm安装node.js
2017/07/18 Javascript
Vue自定义指令详解
2017/07/28 Javascript
微信小程序开发之好友列表字母列表跳转对应位置
2017/09/26 Javascript
微信小程序开发之转发分享功能
2019/10/22 Javascript
JS highcharts实现动态曲线代码示例
2020/10/16 Javascript
python中常用检测字符串相关函数汇总
2015/04/15 Python
python实现支持目录FTP上传下载文件的方法
2015/06/03 Python
python 平衡二叉树实现代码示例
2018/07/07 Python
python3实现斐波那契数列(4种方法)
2019/07/15 Python
django+echart数据动态显示的例子
2019/08/12 Python
Python字符串中删除特定字符的方法
2020/01/15 Python
Python使用monkey.patch_all()解决协程阻塞问题
2020/04/15 Python
Python实现树莓派摄像头持续录像并传送到主机的步骤
2020/11/30 Python
HTML5未来发展趋势
2016/02/01 HTML / CSS
大学生学习生活的自我评价
2013/11/01 职场文书
会计自荐信范文
2014/03/09 职场文书
计算机应用专业自荐信
2014/07/05 职场文书
群众路线教育实践活动自我剖析思想汇报
2014/10/04 职场文书
教师见习报告范文
2014/11/03 职场文书
中英文求职信范文
2015/03/19 职场文书
导游词之黄果树瀑布
2019/09/20 职场文书
jquery插件实现搜索历史
2021/04/24 jQuery