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

面试题 相关文章推荐
会话Bean的种类
Nov 07 面试题
用JAVA SOCKET编程,读服务器几个字符,再写入本地显示
Nov 25 面试题
Java面试中常遇到的问题,也是需要注意的几点
Aug 30 面试题
c语言常见笔试题总结
Sep 05 面试题
大整数数相乘的问题
Jul 22 面试题
华为慧通面试题
Sep 11 面试题
SQL语言面试题
Aug 27 面试题
Internal修饰符有什么含义
Jul 10 面试题
Shell编程面试题
May 29 面试题
介绍一下JMS编程步骤
Sep 22 面试题
Weblogic和WebSphere不同特点
May 09 面试题
解释i节点在文件系统中的作用
Nov 26 面试题
c/c++某大公司的两道笔试题
Feb 02 #面试题
在C语言中"指针和数组等价"到底是什么意思?
Mar 24 #面试题
递归实现回文判断(如:abcdedbca就是回文,判断一个面试者对递归理解的简单程序)
Apr 28 #面试题
C语言面试题
May 19 #面试题
C有"按引用传递"吗
Sep 06 #面试题
求高于平均分的学生学号及成绩
Sep 01 #面试题
上海方立数码笔试题
Oct 18 #面试题
You might like
一些常用的php简单命令代码集锦
2007/09/24 PHP
php版微信js-sdk支付接口类用法示例
2016/10/12 PHP
用js实现下载远程文件并保存在本地的脚本
2008/05/06 Javascript
很全的显示阴历(农历)日期的js代码
2009/01/01 Javascript
wap浏览自动跳转到wap页面的js代码
2014/05/17 Javascript
JQuery选择器绑定事件及修改内容的方法
2015/01/23 Javascript
jquery实现图片左右切换的方法
2015/05/07 Javascript
JS+CSS实现简单滑动门(滑动菜单)效果
2015/09/19 Javascript
最简单的JavaScript图片轮播代码(两种方法)
2015/12/18 Javascript
javascript自定义滚动条实现代码
2020/04/20 Javascript
JS 调用微信扫一扫功能
2016/12/22 Javascript
Vue系列:通过vue-router如何传递参数示例
2017/01/16 Javascript
vue基于Element构建自定义树的示例代码
2017/09/19 Javascript
JQuery实现table中tr上移下移的示例(超简单)
2018/01/08 jQuery
Vue组件系列开发之模态框
2019/04/18 Javascript
jQuery操作事件完整实例分析
2020/01/10 jQuery
详解vuejs中执行npm run dev出现页面cannot GET/问题
2020/04/26 Javascript
Vue实现导航栏菜单
2020/08/19 Javascript
不要用强制方法杀掉python线程
2017/02/26 Python
python sys,os,time模块的使用(包括时间格式的各种转换)
2018/04/27 Python
Python中的random.uniform()函数教程与实例解析
2019/03/02 Python
django中forms组件的使用与注意
2019/07/08 Python
Python获取二维数组的行列数的2种方法
2020/02/11 Python
python属于哪种语言
2020/08/16 Python
基于python+selenium自动健康打卡的实现代码
2021/01/13 Python
python实现杨辉三角的几种方法代码实例
2021/03/02 Python
超市业务员岗位职责
2013/12/05 职场文书
企业口号大全
2014/06/12 职场文书
机关作风建设自查报告及整改措施
2014/10/21 职场文书
初中优秀学生评语
2014/12/29 职场文书
给领导的感谢信范文
2015/01/23 职场文书
2016银行招聘自荐信
2016/01/28 职场文书
Golang的继承模拟实例
2021/06/30 Golang
win11高清晰音频管理器在哪里?win11找不到高清晰音频管理器解决办法
2022/04/08 数码科技
Python如何用re模块实现简易tokenizer
2022/05/02 Python
浅谈css清除浮动(clearfix和clear)的用法
2023/05/21 HTML / CSS