实现最优二叉树的构造;在此基础上完成哈夫曼编码器与译码器。 假设报文中只会出现如下表所示的字符: 字符 A B C D E F G H I J K L M N 频度 186 64 13 22 32 103 21 15 47 57 1 5 32 20 57 字符 O P Q R S T U V W X Y Z , . 频度 63 15 1 48 51 80 23 8 18 1 16 1 6 2 要求完成的系统应具备如下的功能: 1.初始化。从终端(文件)读入字符集的数据信息,。建立哈夫曼树。 2.编码:利用已建好的哈夫曼树对明文文件进行编码,并存入目标文件(哈夫曼码文件)。 3.译码:利用已建好的哈夫曼树对目标文件(哈夫曼码文件)进行编码,并存入指定的明文文件。 4.输出哈夫曼编码文件:输出每一个字符的哈夫曼编码。
上传时间: 2014-11-23
上传用户:shanml
移位乘法器的输入为两个4位操作数a和b,启动乘法器由stb控制,clk信号提供系统定时。乘法器的结果为8位信号result,乘法结束后置信号done为1. 乘法算法采用原码移位乘法,即对两个操作数进行逐位的移位相加,迭代4次后输出结果。具体算法: 1. 被乘数和乘数的高位补0,扩展成8位。 2. 乘法依次向右移位,并检查其最低位,如果为1,则将被乘数和部分和相加,然后将被乘数向左移位;如果为0,则仅仅将被乘数向左移位。移位时,被乘数的低端和乘数的高端均移入0. 3. 当乘数变成全0后,乘法结束。
上传时间: 2014-01-03
上传用户:星仔
这是一个考试系统,主要实现的题目有单项选择题,多项选择题和判断题。 1.对于每个题都是每次运行本软件的时候自动从题库中随机抽取。 2.在data文件夹下有一个配制文件: a.它可以修改每个类型的题目的数量。 b.它可以修改第个题目的分值。 c.它可以修改考试的限定时间。 3.在交卷后就可以查看,本次考试的得分。并根据本次考试满分的60%做为标准,来判断你是否通过这次考试。 4.后台是一个Access数据库,就可以加入新的题目。并不需要修改原程序。 判断题的表是judge,单选是single,多选是moresingle表, 5.在Access中可以添加新的考试人员。只要添加student表中的信息就可以了。 6.在每次交卷后的成绩,会重新保存到数据库中。 7.每次交卷后,都可以把这次所做的题目导出,包括答案和学生所做的答案,以及这次考试的得分。 8.在没有交卷前,做完的题目可以再次进行修改。 9.显示现在时间 吉林农业科技学院 06计算机科学与技术一班 幽居古藤
标签:
上传时间: 2014-08-06
上传用户:myworkpost
--文件名:mine4.vhd。 --功能:实现4种常见波形正弦、三角、锯齿、方波(A、B)的频率、幅度可控输出(方波 --A的占空比也是可控的),可以存储任意波形特征数据并能重现该波形,还可完成 --各种波形的线形叠加输出。 --说明: SSS(前三位)和SW信号控制4种常见波形种哪种波形输出。4种波形的频率、 --幅度(基准幅度A)的调节均是通过up、down、set按键和4个BCD码置入器以及一 --个置入档位控制信号(ss)完成的(AMP的调节范围是0~5V,调节量阶为1/51V)。 --其中方波的幅度还可通过u0、d0调节输出数据的归一化幅值(AMP0)进行进一步 --细调(调节量阶为1/(51*255)V)。方波A的占空比通过zu、zp按键调节(调节 --量阶1/64*T)。系统采用内部存储器——RAM实现任意输入波形的存储,程序只支 --持键盘式波形特征参数置入存储,posting 为进入任意波置入(set)、清除(clr)状态 --控制信号,SSS控制存储波形的输出。P180为预留端口,
上传时间: 2017-02-09
上传用户:z1191176801
音乐演奏程序设计 看看是否可以通过利用通用发声程序编写演奏乐曲的程序。本程序是当从键盘上输入歌曲的序号A,B或C时,计算机则演奏所选择所选的歌曲,当从键盘上按下X键时,跳出。 music1为《玛丽有只小羔羊》,music2为《太湖船》,music3为《祝福歌》。
上传时间: 2014-01-01
上传用户:13188549192
本文在分析计算机(网络)考试的发展及现有模式的基础上,结合计算机网络技术的发展和素质教育的要求,提出了计算机网络自适应考试的模式,并在技术实现上进行了详细的分析.本系统是在Windows XP下,以IIS5.1(Internet Information Server)网络信息服务为应用服务器,选择ASP.NET(C#)、SQL Server 2000开发在线考试系统,采用WEB技术实现,WEB技术超越了传统的“客户机/服务器”的两层结构,采用的是三层体系(B/S)结构:用户端/服务器端/数据库,因此WEB结构有着更好的安全性,在用户机上不需要安装任何应用程序;本系统可以随机生成试卷,同时保证试卷的整体水平一致的前提下,每套试卷的题目不完全相同,即使对于同一个试题而言,试题答案的显示顺序也是不相同的。同时该系统避免了传统在线考试效率低,可维护性不高的缺点。
上传时间: 2014-01-14
上传用户:zsjinju
成绩查询,b包括界面和代码,用于学生成绩管理系统的成绩查询
上传时间: 2017-07-27
上传用户:caiiicc
功能菜单 1.商品管理 a.商品目录 b.商品管理 c.促销商品 2.订单管理 3.报表统计 4.会员管理 a.会员管理 b.会员来源 c.会员分类 d.业务员管理 e.会员积分 f.会员充值 g.礼品数据 5.网站管理 a.信息管理 b.友情链接 c.网站留言 d.网站参数 e.配送管理 6.系统管理 a.用户管理 b.支付管理 c.数据清理 7.修改密码 8.退出系统 后台访问方式为admin/index.asp 用户名8001密码111111
上传时间: 2014-01-03
上传用户:woshini123456
网络在线考试系统 在二十一世纪的新时代,随着计算机技术的发展及计算机的日益普及,基于B/S的在线考试与无纸化办公一样已成为大势所趋。基于B/S的在线考试也越来越成为学校的好帮手,它的优势不但体现在人力上也体现在物力上,基于B/S的在线考试系统的自动评阅、记分、成绩存档功能将有效地避免资源的浪费,有利于环保,减少人员,提高效率。
标签: 网络
上传时间: 2017-09-19
上传用户:ecooo
#include<stdio.h> #include<string.h> #include<stdlib.h> #define N 100 int iNumOfStu=0; struct score { float math; float english; float computer; }; struct student { int number; char name[20]; struct score sco; float average; }; struct student stu[N]; void print_menu(void);//输出菜单 void choosemenu(void);//菜单选择 void input_student1(int);//输入学生信息 void input_student2(void);//输入总函数 void input_student3(int &,int);//判断学号是否重复 void input_student4(int,int);//覆盖原信息 void sort_student3(student s[],int);//按照英语成绩排序 void sort_student4(student s[],int);//按照计算机成绩排序 void sort_student2(student s[],int);//按照数学成绩排序 void sort_student5(student s[],int);//按照平均成绩排序 float input_score2(int);//计算学生平均成绩 void print_student2(void);//显示表头 void print_student3(int);//显示学生信息 void print_student1(int);//显示全部学生资料 void sort_student1(void);//排序总函数 void menu(void);//菜单调度总函数 int search_student2(int);//按学号查询学生信息并输出 void search_student3(int);//按平均分最高查询并输出 void search_student1(void);//查询总函数 void delete_student2(int,int);//删除学生信息 void delete_student1(void);//删除总函数 void change_student2(int);//修改学生资料 void change_student1(void);//修改总函数 void input_score3(int);//统计成绩 void input_score1(void);//统计成绩总函数 void print_help(void);//输出帮助信息 void exit_student(void);//退出系统 void save_student(student *,int);//保存学生信息 void main() { menu(); } void save_student(student *s,int a)//保存学生信息 { FILE *fp; if((fp=fopen("d:\\学生信息.txt","wb"))==NULL) { printf("不能打开文件!\n"); } else { printf("保存信息到D盘\n"); fprintf(fp,"本班所有学生具体信息如下:\r\n"); fprintf(fp," 学号 姓名 数学成绩 英语成绩 计算机成绩 平均成绩\r\n"); for(int i=0;i<a;i++) { fprintf(fp,"%8d%12s%14.2f%14.2f%14.2f%14.2f\n",stu[i].number,stu[i].name,stu[i].sco.math,stu[i].sco.english,stu[i].sco.computer,stu[i].average); fprintf(fp,"\r\n"); } fclose(fp); printf("信息保存成功!\n"); } } void exit_student(void)//退出系统 { exit(1); } void print_help(void)//输出帮助信息 { printf("本系统所能容纳的最大学生数为%d人\n学生信息保存在D盘根目录下,保存文件为“学生信息.txt”。\n感谢使用!\n",N); } void input_score1(void)//统计成绩总函数 { int c; c=search_student2(iNumOfStu); printf("学号:%d\n",stu[c].number); printf("姓名:%s\n",stu[c].name); input_score3(c); printf("新成绩录入成功!\n"); stu[c].average=input_score2(c); } void input_score3(int a)//统计成绩 { printf("数学新成绩:"); scanf("%f",&stu[a].sco.math); printf("英语新成绩:"); scanf("%f",&stu[a].sco.english); printf("计算机新成绩:"); scanf("%f",&stu[a].sco.computer); } void change_student2(int a)//修改学生资料 { printf("学号:%d----修改为:",stu[a].number); scanf("%d",&stu[a].number); getchar(); printf("姓名:%s----修改为:",stu[a].name); gets(stu[a].name); printf("数学成绩:%.2f----修改为:",stu[a].sco.math); scanf("%f",&stu[a].sco.math); printf("英语成绩:%.2f----修改为:",stu[a].sco.english); scanf("%f",&stu[a].sco.english); printf("计算机成绩:%.2f----修改为:",stu[a].sco.computer); scanf("%f",&stu[a].sco.computer); } void change_student1(void)//修改总函数 { int c; c=search_student2(iNumOfStu); getchar(); printf("是否要修改此学生信息?(“y”代表是)"); char d; scanf("%c",&d); if(d=='y'||d=='Y') { change_student2(c); stu[c].average=input_score2(c); printf("信息修改成功!\n"); } } void delete_student1(void)//删除总函数 { int c; c=search_student2(iNumOfStu); getchar(); printf("是否删除此条记录?(“y”代表是)"); char d; scanf("%c",&d); if(d=='y'||d=='Y') { delete_student2(c,iNumOfStu); printf("记录已删除!\n"); } } void delete_student2(int a,int b)//删除学生信息 { for(int i=a;i<b-1;i++) { stu[i]=stu[i+1]; } --iNumOfStu; } void search_student1(void)//查询总函数 { printf("1、按学号查询\n2、按平均分最高查询\n请选择:"); int c; scanf("%d",&c); switch(c) { case 1: { search_student2(iNumOfStu); break; } case 2: { search_student3(iNumOfStu); break; } default: break; } } void menu(void)//菜单调度总函数 { print_menu(); choosemenu(); } void sort_student1(void)//排序总函数 { printf("1、按数学成绩排序\n2、按英语成绩排序\n3、按计算机成绩排序\n4、按平均成绩排序\n请选择:"); int c; scanf("%d",&c); switch(c) { case 1: { sort_student2(stu,iNumOfStu); break; } case 2: { sort_student3(stu,iNumOfStu); break; } case 3: { sort_student4(stu,iNumOfStu); break; } case 4: { sort_student5(stu,iNumOfStu); break; } default: break; } } void print_student1(int a)//显示全部学生资料 { printf("本班所有学生具体信息如下\n"); print_student2(); for(int i=0;i<a;i++) { print_student3(i); } } void print_student3(int a)//显示学生信息 { printf("%8d%12s%14.2f%14.2f%14.2f%14.2f\n",stu[a].number,stu[a].name,stu[a].sco.math,stu[a].sco.english,stu[a].sco.computer,stu[a].average); } void print_student2(void)//显示表头 { printf(" 学号 姓名 数学成绩 英语成绩 计算机成绩 平均成绩\n"); } void input_student4(int a,int b)//覆盖原信息 { stu[a]=stu[b-1]; --iNumOfStu; } void input_student3(int &a,int b)//判断学号是否重复 { if(a!=0) { int i=0; do { if(stu[a].number==stu[i].number) { printf("此学号代表的学生已录入\n1、覆盖原信息\n2、重新输入\n请选择:"); int c; scanf("%d",&c); switch(c) { case 1: { input_student4(i,iNumOfStu); a=iNumOfStu-1; printf("信息已替换!\n"); break; } case 2: { printf("请重新输入学生信息:\n"); input_student1(iNumOfStu-1); break; } default: break; } break; } ++i; } while(i<b-1); } } void print_menu(void)//输出菜单 { printf("======欢迎来到学生信息管理系统======\n"); printf(" 1、输入学生资料\n"); printf(" 2、删除学生资料\n"); printf(" 3、查询学生资料\n"); printf(" 4、修改学生资料\n"); printf(" 5、显示学生资料\n"); printf(" 6、统计学生成绩\n"); printf(" 7、排序学生成绩\n"); printf(" 8、保存学生资料\n"); printf(" 9、获取帮助信息\n"); printf(" 10、退出系统\n"); printf("====================================\n"); printf("请选择:"); } void input_student2(void)//输入总函数 { char end; printf("请输入学生信息(在最后一个学生信息录入完成后以“/”结束录入):\n"); for(int i=0;(end=getchar())!='/';i++) { input_student1(i); ++iNumOfStu; input_student3(i,iNumOfStu); } for(int j=0;j<iNumOfStu;j++) { stu[j].average=input_score2(j); } } void input_student1(int a)//输入学生信息 { printf("学号:"); scanf("%d",&stu[a].number); getchar(); printf("姓名:"); gets(stu[a].name); printf("数学成绩:"); scanf("%f",&stu[a].sco.math); printf("英语成绩:"); scanf("%f",&stu[a].sco.english); printf("计算机成绩:"); scanf("%f",&stu[a].sco.computer); } float input_score2(int a)//计算学生平均成绩 { return (stu[a].sco.math+stu[a].sco.english+stu[a].sco.computer)/3; } void search_student3(int a)//按平均分最高查询并输出 { int max=0; for(int i=0;i<a;i++) { if(stu[max].average<stu[i].average) { max=i; } } print_student2(); print_student3(max); } void sort_student2(student s[],int a)//按照数学成绩排序 { struct student temp; for(int i=0;i<a-1;i++) { int max=i; for(int j=i+1;j<a;j++) if(stu[j].sco.math>stu[max].sco.math) { max=j; } if(max!=i) { temp=stu[max]; stu[max]=stu[i]; stu[i]=temp; } } print_student2(); for(int k=0;k<a;k++) { print_student3(k); } } void sort_student3(student s[],int a)//按照英语成绩排序 { struct student temp; for(int i=0;i<a-1;i++) { int max=i; for(int j=i+1;j<a;j++) if(stu[j].sco.english>stu[max].sco.english) { max=j; } if(max!=i) { temp=stu[max]; stu[max]=stu[i]; stu[i]=temp; } } print_student2(); for(int k=0;k<a;k++) { print_student3(k); } } void sort_student4(student s[],int a)//按照计算机成绩排序 { struct student temp; for(int i=0;i<a-1;i++) { int max=i; for(int j=i+1;j<a;j++) if(stu[j].sco.computer>stu[max].sco.computer) { max=j; } if(max!=i) { temp=stu[max]; stu[max]=stu[i]; stu[i]=temp; } } print_student2(); for(int k=0;k<a;k++) { print_student3(k); } } void sort_student5(student s[],int a)//按照平均成绩排序 { struct student temp; for(int i=0;i<a-1;i++) { int max=i; for(int j=i+1;j<a;j++) if(stu[j].average>stu[max].average) { max=j; } if(max!=i) { temp=stu[max]; stu[max]=stu[i]; stu[i]=temp; } } print_student2(); for(int k=0;k<a;k++) { print_student3(k); } } int search_student2(int a)//按照学号查找学生并输出 { int num; int c; printf("请输入要查询的学号:"); scanf("%d",&num); for(int i=0;i<a;i++) { if(num==stu[i].number) { c=i; } } printf("此学生的信息是:\n"); print_student2(); print_student3(c); return c; } void choosemenu(void)//菜单选择 { int i; scanf("%d",&i); switch(i) { case 1: { input_student2(); printf("按回车键返回主菜单"); getchar(); getchar(); menu(); break; } case 2: { delete_student1(); printf("按回车键返回主菜单"); getchar(); getchar(); menu(); break; } case 3: { search_student1(); printf("按回车键返回主菜单"); getchar(); getchar(); menu(); break; } case 4: { change_student1(); printf("按回车键返回主菜单"); getchar(); getchar(); menu(); break; } case 5: { print_student1(iNumOfStu); printf("按回车键返回主菜单"); getchar(); getchar(); menu(); break; } case 6: { input_score1(); printf("按回车键返回主菜单"); getchar(); getchar(); menu(); break; } case 7: { sort_student1(); printf("按回车键返回主菜单"); getchar(); getchar(); menu(); break; } case 8: { save_student(stu,iNumOfStu); printf("按回车键返回主菜单"); getchar(); getchar(); menu(); break; } case 9: { print_help(); printf("按回车键返回主菜单"); getchar(); getchar(); menu(); break; } case 10: { exit_student(); } default: break; } } 运行结果: 源文件下载地址: http://115.com/file/clnq138g#一个简单的学生成绩管理系统.rar (请将此地址复制到浏览器地址栏中访问下载页面)
标签: 成绩查询系统
上传时间: 2019-06-08
上传用户:啊的撒旦