一 . 需求分析: 1) 输入形式和输入值范围: 输入形式是某集体的“人名”,输入的是人名的拼音,而且字符长度不超过19。 2) 输出形式: 输出相应的“人名”哈希表,并实现查找的功能,且平均查找长度不超R. 3) 程序所能达到的功能: 利用哈希函数对“人名”拼音做编码,建立哈希表。并实现查找的功能,且平均查找长度不超R。 4)测试数据:(包括正确的输入数据及其输出结果和含有错误输入及其输出结果) 测试输入是不是有效的。进行条件判断,实现错误处理。 如果输入是正确的话,就会按程序的5个功能一步步建立起哈希表、查看哈希表、哈希表的查找。否则用函数MessageBox提示错误。然后进行更正。 二 . 概要设计: 1) 哈希表的特点 a) 据哈希函数和处理冲突的方法将一组关键字映像到一个有限的区间上 b) 以关键字在地址集中的“像”作为记录在表中的存储位置 c) 不经过任何比较,一次存取便能得到所查记录
上传时间: 2014-01-08
上传用户:498732662
通过MP(代表其中一个P口)的高4位来控制,AA`BB`-4,5,6,7脚。12细分,没行数组里面分4对,每对数第一个加到P口控制电流方向,第二个数控制通电时间。正转AA`-BB`-A`A-B`B,数组由1到12行的读取,反转B`B-A`A-BB`-AA`,数组由12到1行的读取。参数POWER表示电机启动还是不启动,DIRECT参数表示方向,SPEED表示速度等级,每项通电时间用数组中的植/SPEED。本程序没考虑要走多少步的情况,调用一次就走一步。
标签: 控制
上传时间: 2015-12-07
上传用户:hopy
本题的算法中涉及的三个函数: double bbp(int n,int k,int l) 其中n为十六进制位第n位,k取值范围为0到n+7,用来计算16nS1,16nS2,16nS3,16nS4小数部分的每一项。返回每一项的小数部分。 void pi(int m,int n,int p[]) 计算从n位开始的连续m位的十六进制数字。其中p为存储十六进制数字的数组。 void div(int p[]) void add(int a[],int b[]) 这两个函数都是为最后把十六进制数字转换为十进制数字服务的。 最后把1000个数字分别存储在整型数组r[]中,输出就是按顺序输出该数组。
上传时间: 2014-01-05
上传用户:xcy122677
古典密码中,主要的思想为移位算法及置换算法。 1.移位密码 密钥K为整数,且取值空间为0到25;加密函数:x = x + k (mod 26);解密函数:x = x - k (mod 26)。当K=3时,为凯撒密码。 2.仿射密码 密钥对由a、b组成,整数a满足 gcd(a, 26) = 1,整数b的取值空间为0到25;加密函数:x = ax + b(mod 26);解密函数:x = a*y - a*b (mod 26)。当a=1,b=3时,为凯撒密码。 3.维吉尼亚密码 首先确定密钥长度(本例中密钥只采取个位数字,所以取决于输入密钥的长度),然后输入满足这个长度的向量;加密:取明文第一个字母并将之移k1位,这里k1=1,第二个字母移k2位,k2=2,一旦到了密钥末尾,又从头开始。 4.换位密码 首先确定密钥长度,输入长度为5的0到4的整数序列,将明文分成每5个字母一组,每组字母按照密钥进行换位。
标签: 密码
上传时间: 2016-02-09
上传用户:jqy_china
编写具有如下函数原型的递归与非递归两种函数equ,负责判断数组a与b的前n个元素值是否按下标对应完全相同,是则返回true,否则返回false。并编制主函数对它们进行调用,以验证其正确性。 bool equ(int a[], int b[], int n) 提示:递归函数中可按如下方式来分解并处理问题,先判断最后一个元素是否相同,不同则返false;相同则看n是否等于1,是则返回true,否则进行递归调用(传去实参a、b与 n-1,去判断前n-1个元素的相等性),并返回递归调用的结果(与前n-1个元素的是否相等性相同)。
上传时间: 2013-12-03
上传用户:梧桐
C程序设计语言于1978年出了第一版,此后,计算机世界经历了一场革命,C语言也有了合理的变化。1988年美国国家标准学会就C语言的主义制订出了ANSI C标准。本书第二版就是按这个标准来描述C语言的。全书八章,分别分:1.指导性绪论;2.数据类型、运算符与表达式;3.控制流;4.函数与结构;5.指针与数组;6.结构;7.输入输出;8.UNIX系统界面。书后附录为:A.参考手册;B.标准库;C.语言
上传时间: 2014-01-10
上传用户:tuilp1a
词法分析器的实现,1) 输入:字符串(待进行词法分析的源程序),输出:由(种别码,自身值)所组成的二元组序列。 2) 功能: a. 滤空格 b. 识别保留字 c. 识别标识符 d. 拼数 e. 拼复合单词: 例如: >=、 <=、 := 3) 检查如下错误: a. 程序语言的字符集以外的非法字符 b. 单词拼错,如9A88,而对于将begin拼写成begon的错误,只须把begon当成标识符即可
标签: 分析器
上传时间: 2016-05-18
上传用户:c12228
要求按每个数的后三位的大小进行升序排列,然后取出满足此条件的前10个数依次存入数组b中,如果后三位的数值相等,则按原先的数值进行降序排列
标签:
上传时间: 2014-11-29
上传用户:Late_Li
本实训是有关线性表的顺序存储结构的应用,在本实训的实例程序中,通过C语言中提供的数组来存储两个已知的线性表,然后利用数组元素的下标来对线性表进行比较。通过对本实训的学习,可以理解线性表在顺序存储结构下的操作方法。 在实训中,我们设A=(a1,a2,…,an)和B=(b1,b2,…,bm)是两个线性表,其数据元素的类型是整型。若n=m,且ai=bi,则称A=B 若ai=bi,而aj<bj,则称A<B;除此以外,均称A>B。设计一比较大小的程序。
上传时间: 2014-01-14
上传用户:www240697738
对PL0原编译器进行了以下的扩充:1.增加以下保留字else(elsesym), for(forsym),to(tosym),downto(downtosym),return(returnsym),[(lmparen),](rmparen) 2.增加了以下的运算符:+=(eplus),-=(eminus),++(dplus),--(dminus) 取址运算符&(radsym),指向运算符@(padsym) 3.修改单词:修改不等号#为<> 4.扩充语句:(1)增加了else子句 (2)增加了for语句 5.增加运算:(1).++运算 (2).--运算;(3).+=运算 (4).-=运算;(5).&取址运算; (6).@指向运算; 6.增加类型:(1).增加多维数组a[i1][i2][i3]……[i(n-1)][i(n-2)][in] (2).增加指针类型(任何变量都能存放指针,但不支持指针的指针,如b:=@@a应该改写为c:=@a,b:=@c) 7.将过程procedure扩展为函数:(1).允许定义过程时在其后加参数(var a, var b,……..,var n) (2)允许通过指针向函数形式参数传地址;(3)允许返回值;可以用 a:=p(a,b,c….,n) 返回
标签: downtosym returnsym elsesym downto
上传时间: 2016-07-02
上传用户:saharawalker