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语句
Mar 05 面试题
Java平台和其他软件平台有什么不同
Jun 05 面试题
2019年c语言经典面试题目
Aug 17 面试题
天网面试题
Apr 07 面试题
C#如何允许一个类被继承但是避免这个类的方法被重载?
Feb 24 面试题
Linux上比较文件的命令都有哪些
Sep 28 面试题
腾讯公司的一个sql题
Jan 22 面试题
Java程序开发中如何应用线程
Mar 03 面试题
中软国际Java程序员机试题
Aug 19 面试题
创立科技Java面试题
Nov 29 面试题
Java语言程序设计测试题改错题部分
Jul 22 面试题
Java模拟试题
Nov 10 面试题
c/c++某大公司的两道笔试题
Feb 02 #面试题
在C语言中"指针和数组等价"到底是什么意思?
Mar 24 #面试题
递归实现回文判断(如:abcdedbca就是回文,判断一个面试者对递归理解的简单程序)
Apr 28 #面试题
C语言面试题
May 19 #面试题
C有"按引用传递"吗
Sep 06 #面试题
求高于平均分的学生学号及成绩
Sep 01 #面试题
上海方立数码笔试题
Oct 18 #面试题
You might like
php实现cc攻击防御和防止快速刷新页面示例
2014/02/13 PHP
浅析Yii2 GridView实现下拉搜索教程
2016/04/22 PHP
使用CSS3实现字体颜色渐变的实现
2021/03/09 HTML / CSS
Aster vs Newbee BO5 第一场2.19
2021/03/10 DOTA
JavaScript运行时库属性一览表
2014/03/14 Javascript
Javascript排序算法之合并排序(归并排序)的2个例子
2014/04/04 Javascript
JavaScript设计模式之抽象工厂模式介绍
2014/12/28 Javascript
JavaScript操作DOM元素的childNodes和children区别
2015/04/01 Javascript
js判断checkbox是否选中个数的方法(超简单)
2016/08/19 Javascript
JavaScript第一篇之实现按钮全选、功能
2016/08/21 Javascript
基于Vue自定义指令实现按钮级权限控制思路详解
2018/05/23 Javascript
javascript简单实现深浅拷贝过程详解
2019/10/08 Javascript
js实现倒计时秒杀效果
2020/03/25 Javascript
[51:26]VP vs VG 2018国际邀请赛小组赛BO2 第二场 8.19
2018/08/21 DOTA
Python映射拆分操作符用法实例
2015/05/19 Python
Python查询阿里巴巴关键字排名的方法
2015/07/08 Python
Python tkinter模块弹出窗口及传值回到主窗口操作详解
2017/07/28 Python
python 文件转成16进制数组的实例
2018/07/09 Python
python实现遍历文件夹修改文件后缀
2018/08/28 Python
python write无法写入文件的解决方法
2019/01/23 Python
django 自定义过滤器(filter)处理较为复杂的变量方法
2019/08/12 Python
Pytorch修改ResNet模型全连接层进行直接训练实例
2019/09/10 Python
python super函数使用方法详解
2020/02/14 Python
如何用python免费看美剧
2020/08/11 Python
英国著名音像制品和图书游戏购物网站:Zavvi
2016/08/04 全球购物
三星印度官网:Samsung印度
2019/08/03 全球购物
俄罗斯茶和咖啡网上商店:Tea.ru
2021/01/26 全球购物
党员培训思想汇报
2014/01/07 职场文书
测量工程专业求职信
2014/02/24 职场文书
菜篮子工程实施方案
2014/03/08 职场文书
团日活动总结书格式
2014/05/08 职场文书
民主生活会剖析材料
2014/09/30 职场文书
机关干部三严三实心得体会
2014/10/13 职场文书
2014年政教处工作总结
2014/12/20 职场文书
法定授权委托证明书
2015/06/18 职场文书
用JS写一个发布订阅模式
2021/11/07 Javascript