




已阅读5页,还剩2页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
桂 林 电 子 科 技 大 学 试 卷 20162017 学年第 1 学期 课号 课程名称 网络与信息安全实验( B 卷 ,开卷)适用班级(或年级、专业) 13、14 考试时间 120 分钟 班级 学号 姓名 题 号一二三四五六七八九十成绩满 分20303020100得 分评卷人第一题、(20分)请编写一个函数fun(char *str),其功能是:判别字符串str是否是回文,若是,返回;否则返回。例如:“12321”,“adcdcba”;而“hello”,“123”就不是回文。部分源程序如下:#include #include #include intfun(char *str)intk;char*head,*rear;return!(*head-*rear);main() chars100;intflag;clrscr();printf(n please enter stringn);gets(s);flag=fun(s);printf(%d,flag);#include#include#includeintfun(char*str)intk;char*head,*rear;k=0;for(head=str;*head!=0;head+)k+;for(head=str,rear=head+k-1;headrear;head+,rear-)if(head=rear)continue;elsebreak;return!(*head-*rear);voidmain()chars100;intflag;/clrscr();printf(npleaseenterstringn);gets(s);flag=fun(s);printf(%d,flag);第二题、(30分)分别用动态规划法、递归算法法设计0-1背包问题。要求:说明所使用的算法策略;写出算法实现的主要步骤;分析算法的时间。动态规划法:#includeint V200200;/前i个物品装入容量为j的背包中获得的最大价值int max(int a,int b) if(a=b) return a; else return b;int KnapSack(int n,int w,int v,int x,int C) int i,j; for(i=0;i=n;i+) Vi0=0; for(j=0;j=C;j+) V0j=0; for(i=0;i=n-1;i+) for(j=0;j=C;j+)for(int k=1;k=j/wi;k+) if(j=0;i-) if(VijVi-1j) xi=1; j=j-wi; else xi=0; printf(选中的物品是:n); for(i=0;in;i+) printf(%d ,xi); printf(n); return Vn-1C; void main() int s;/获得的最大价值 int w15;/物品的重量 int v15;/物品的价值 int x15;/物品的选取状态 int n,i; int C;/背包最大容量 n=5; printf(请输入背包的最大容量:n); scanf(%d,&C); printf(输入物品数:n); scanf(%d,&n); printf(请分别输入物品的重量:n); for(i=0;in;i+) scanf(%d,&wi); printf(请分别输入物品的价值:n); for(i=0;in;i+) scanf(%d,&vi); s=KnapSack(n,w,v,x,C); printf(最大物品价值为:n); printf(%dn,s); 时间复杂度为O(n3)递归算法:#include using namespace std; const int W = 150; const int number = 5; const int VALUE = 60, 20, 10, 60, 100; const int WEIGHT = 20, 30, 50, 60, 80; /function Make( i 处理到第i件物品 , j剩余的空间为j) :integer; int Make(int i, int j) int r1 = 0; int r2 = 0; int r = 0; if (i = -1) return 0; if(j = WEIGHTi) /背包剩余空间可以放下物品 i r1 = Make(i-1,j - WEIGHTi) + VALUEi; /第i件物品放入所能得到的价值 r2 = Make(i-1,j); /第i件物品不放所能得到的价值 r = (r1r2)?r1:r2; return r; void main() int maxValue = Make(number-1, W); coutmaxValue: maxValueendl; 第三题、(30分)通过键盘输入一个高精度的正整数n(n的有效位数240),去掉其中任意s个数字后,剩下的数字按原左右次序将组成一个新的正整数。编程对给定的n和s,寻找一种方案,使得剩下的数字组成的新数最小。【样例输入】178543S=4【样例输出】13#includeint maxNum(char num240) int i,max=0,k; for(i=0;numi!=0;i+) if(max(int)numi) max=(int)numi; k=i; return k;void move(char num240,int n) int i;for(i=n;numi+1!=0;i+) numi=numi+1;numi=0;void fun(int s,char num240)while(s-)move(num,maxNum(num);void main() char num240; int s,i;
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- MT/T 1210-2024矿用随钻伽马测井装置通用技术条件
- 收废铁基础知识培训内容课件
- 2025年养生知识竞赛试题及答案
- 播音主持培训课件社团
- 播音与主持社团课件
- 2025年水上交通安全责任协议
- 2025社会工作者面试试题及答案
- 摸鱼儿-雁丘词课件
- 2025年国家工作人员学法用法考试题库附参考答案
- 2025年社会工作者《初级实务》考试真题及答案
- GA/T 1499-2018卷帘门安全性要求
- GA/T 1359-2018信息安全技术信息资产安全管理产品安全技术要求
- 丁往道英语写作手册课件
- 荨麻疹的临床表现及护理课件
- 急性肾盂肾炎教学查房课件
- 玻璃边部应力对切割的影响及解决方法
- 感染性休克的护理查房
- 市政道路雨污水管道工程施工技术
- 田径校本教材--
- 中国特色社会主义生态文明建设讲稿
- 机电安装施工界面划分电气
评论
0/150
提交评论