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

面试题 相关文章推荐
华为的Java面试题
Mar 07 面试题
写出一个方法实现冒泡排序
Jul 08 面试题
上海奥佳笔试题面试题
Nov 16 面试题
某公司的.net工程师面试题笔试题
Nov 22 面试题
什么是Linux虚拟文件系统VFS
Aug 25 面试题
介绍一下linux的文件系统
Oct 06 面试题
Linux文件操作命令都有哪些
Feb 27 面试题
东方红海科技面试题软件测试方面
Feb 08 面试题
软件测试工程师面试问题精选
Oct 28 面试题
请说出以下代码输出什么
Aug 30 面试题
汇科协同Java笔试题
Mar 31 面试题
关键字throw与throws的用法差异
Nov 22 面试题
c/c++某大公司的两道笔试题
Feb 02 #面试题
在C语言中"指针和数组等价"到底是什么意思?
Mar 24 #面试题
递归实现回文判断(如:abcdedbca就是回文,判断一个面试者对递归理解的简单程序)
Apr 28 #面试题
C语言面试题
May 19 #面试题
C有"按引用传递"吗
Sep 06 #面试题
求高于平均分的学生学号及成绩
Sep 01 #面试题
上海方立数码笔试题
Oct 18 #面试题
You might like
php读取qqwry.dat ip地址定位文件的类实例代码
2016/11/15 PHP
PHP实现的杨辉三角求解算法分析
2019/03/11 PHP
ext 同步和异步示例代码
2009/09/18 Javascript
js 模拟实现类似c#下的hashtable的简单功能代码
2010/01/24 Javascript
JavaScript类和继承 constructor属性
2010/03/04 Javascript
Jquery工作常用实例 使用AJAX使网页进行异步更新
2011/07/26 Javascript
jquery插件之信息弹出框showInfoDialog(成功/错误/警告/通知/背景遮罩)
2013/01/09 Javascript
php跨域调用json的例子
2013/11/13 Javascript
javascript复制粘贴与clipboardData的使用
2014/10/16 Javascript
深入浅析JavaScript中prototype和proto的关系
2015/11/15 Javascript
JS提示:Uncaught SyntaxError:Unexpected token ) 错误的解决方法
2016/08/19 Javascript
JS 根据子网掩码,网关计算出所有IP地址范围示例
2020/04/23 Javascript
D3.js封装文本实现自动换行和旋转平移等功能
2016/10/14 Javascript
jQuery查找dom的几种方法效率详解
2017/05/17 jQuery
Vue2 使用 Echarts 创建图表实例代码
2017/05/18 Javascript
原生js调用json方法总结
2018/02/22 Javascript
详解适配器在JavaScript中的体现
2018/09/28 Javascript
Vue解析带html标签的字符串为dom的实例
2019/11/13 Javascript
JS实现吸顶特效
2020/01/08 Javascript
详解Vue3 Composition API中的提取和重用逻辑
2020/04/29 Javascript
使用nodejs实现JSON文件自动转Excel的工具(推荐)
2020/06/24 NodeJs
python 读写txt文件 json文件的实现方法
2016/10/22 Python
遗传算法之Python实现代码
2017/10/10 Python
Python实现基于C/S架构的聊天室功能详解
2018/07/07 Python
python机器学习之KNN分类算法
2018/08/29 Python
Pycharm之快速定位到某行快捷键的方法
2019/01/20 Python
python顺序执行多个py文件的方法
2019/06/29 Python
在vscode中配置python环境过程解析
2019/09/28 Python
python工具快速为音视频自动生成字幕(使用说明)
2021/01/27 Python
Html5游戏开发之乒乓Ping Pong游戏示例(三)
2013/01/21 HTML / CSS
波兰运动鞋网上商店:e-Sporting
2018/02/16 全球购物
Linux机考试题
2015/07/17 面试题
三八妇女节活动总结
2014/05/04 职场文书
校园新闻广播稿5篇
2014/10/10 职场文书
小学教育见习总结
2015/06/23 职场文书
分析SQL窗口函数之排名窗口函数
2022/04/21 Oracle