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

面试题 相关文章推荐
简单介绍Object类的功能、常用方法
Oct 02 面试题
联强国际笔试题面试题
Jul 10 面试题
int *p=NULL和*p= NULL有什么区别
Oct 23 面试题
编写函数,将一个3*3矩阵转置
Oct 09 面试题
ORACLE第二个十问
Dec 14 面试题
简述Linux文件系统通过i节点把文件的逻辑结构和物理结构转换的工作过程
Jan 06 面试题
一套比较完整的软件测试人员面试题
May 13 面试题
软件测试工程师面试问题精选
Oct 28 面试题
Python面试题:Python里面如何生成随机数
Mar 12 面试题
我们在web应用开发过程中经常遇到输出某种编码的字符,如iso8859-1等,如何输出一个某种编码的字符串?
Mar 30 面试题
创联软件面试题笔试题
Oct 07 面试题
Ruby如何创建一个线程
Mar 10 面试题
c/c++某大公司的两道笔试题
Feb 02 #面试题
在C语言中"指针和数组等价"到底是什么意思?
Mar 24 #面试题
递归实现回文判断(如:abcdedbca就是回文,判断一个面试者对递归理解的简单程序)
Apr 28 #面试题
C语言面试题
May 19 #面试题
C有"按引用传递"吗
Sep 06 #面试题
求高于平均分的学生学号及成绩
Sep 01 #面试题
上海方立数码笔试题
Oct 18 #面试题
You might like
无线电广播的开始
2002/01/30 无线电
php代码书写习惯优化小结
2013/06/20 PHP
Yii Framework框架获取分类下面的所有子类方法
2014/06/20 PHP
基于PHP实现假装商品限时抢购繁忙的效果
2015/10/16 PHP
PHP输出图像imagegif、imagejpeg与imagepng函数用法分析
2016/11/14 PHP
php 人员权限管理(RBAC)实例(推荐)
2017/05/24 PHP
PHP Laravel 上传图片、文件等类封装
2017/08/16 PHP
PHP多进程之pcntl_fork的实例详解
2017/10/15 PHP
javascript实现网站加入收藏功能
2015/12/16 Javascript
Javascript 创建类并动态添加属性及方法的简单实现
2016/10/20 Javascript
JavaScript数据结构之二叉查找树的定义与表示方法
2017/04/12 Javascript
微信小程序获取手机系统信息的方法【附源码下载】
2017/12/07 Javascript
vue中slot(插槽)的介绍与使用
2018/11/12 Javascript
JavaScript语法约定和程序调试原理解析
2020/11/03 Javascript
[01:14]3.19DOTA2发布会 三代刀塔人第二代
2014/03/25 DOTA
Python中使用ElementTree解析XML示例
2015/06/02 Python
Python实现的端口扫描功能示例
2018/04/08 Python
python之cv2与图像的载入、显示和保存实例
2018/12/05 Python
django解决跨域请求的问题详解
2019/01/20 Python
Python+OpenCV 实现图片无损旋转90°且无黑边
2019/12/12 Python
Python Pillow.Image 图像保存和参数选择方式
2020/01/09 Python
Tensorflow实现部分参数梯度更新操作
2020/01/23 Python
python yield和Generator函数用法详解
2020/02/10 Python
Python IDE环境之 新版Pycharm安装详细教程
2020/03/05 Python
如何基于Python Matplotlib实现网格动画
2020/07/20 Python
python中如何打包用户自定义模块
2020/09/23 Python
美国最大的存储市场:SpareFoot
2018/07/23 全球购物
Hotels.com加拿大:领先的在线住宿网站
2018/10/05 全球购物
BudgetAir印度:预订航班、酒店和汽车租赁
2019/07/07 全球购物
小学生安全保证书
2014/02/01 职场文书
群众路线教育党课主持词
2014/04/01 职场文书
对外汉语专业大学生职业生涯规划范文
2014/09/13 职场文书
教师党的群众路线对照检查材料
2014/09/24 职场文书
青年文明号创建口号大全
2015/12/25 职场文书
导游词之太湖
2019/10/08 职场文书
vue+iview实现手机号分段输入框
2022/03/25 Vue.js